Klasse "Angestellter"
-
Ich danke allen, die mir zu diesem Beitrag geholfen haben oder werden.
-
habe jetzt mal eine classe dafür geschrieben:
#include <iostream> using namespace std; class Angestellter { public: Angestellter(char *Name, int Alter, int Betriebsangehoerigkeit, int Gehalt, int PNummer); m_name(*Name); m_alter(Alter); m_betriebszugehoerigkeit(Betriebszugehoerigkeit); m_gehalt(Gehalt); m_pnummer(PNummer) { }; char getName(){ return m_name; } int getAlter(){ return m_alter; } int getBetriebszugehoerigkeit(){ return m_betriebszugehoerigkeit; } int getGehalt(){return m_gehalt;} int getPNummer(){return m_pnummer;} void info() { cout << "Name: " << m_name << endl; cout << "Alter: " << m_alter << endl; cout << "Betriebszugehoerigkeit: " << m_betriebszugehoerigkeit << endl; cout << "Gehalt: " << m_gehalt << endl; cout << "PNummer: " << m_pnummer << endl; } private: char m_name; int m_alter; int m_betriebszugehoerigkeit; int m_gehalt; int m_pnummer; };kann mir jemand beim ausbessern helfen?
-
Die Sachen die ich zum Namen gesagt habe, gelten garantiert. char* als Datentyp geht gar nicht, du bist nicht einmal konsistent in der Nutzung. Was sind betzuge? warum sind nun auf einmal mehr Datenfelder (pnummer) da als vorher? Wo kommt das her? Steht da doch mehr bei der Aufgabe?
Der Code ist voller Syntaxfehler, wie zum Beispiel falsch gesetzter Semikolons. Darüber sollte sich aber der Compiler schon beschweren, das brauche ich dir nicht sagen.
Sei ordentlich in der Einrückung, dann kann man das auch lesen.
Programmier nicht durch Ausprobieren. In Zeile 4 hast du einen Fehler gehabt und hast so lange verschiedene Zeichen ausprobiert, bis der Fehler weg war, ohne zu verstehen, was du getan hast. Entsprechend ist es völliger Unsinn, der eigentliche Fehler war ein ganz anderer, du hast bloß den einen Fehler durch einen anderen Fehler kompensiert.
c.rackwitz schrieb:
Wenn du selber Code schreibst, musst du ihn auch verstehen. Code ist kein Haufen von wahllos zusammengeschmissenen Buchstaben und Zeichen, Code ist Logik pur. Du musst genau wissen, warum du wo und welches Zeichen setzt.
-
@scanbot90
Falls es dir noch keiner gesagt hat: die Semantik der Datenfelder hat einen Bug. Welches Feld und welcher Bug findest du selbst raus. Hoffentlich.
(Genaugenommen sind es mehrere Bugs, aber zumindest einer davon ist gravierend)