Finde den Fehler nicht...
-
Hallo Zusammen,
ich finde den Fehler einfach nicht. Thema ist Vererbung.
TArtikel.h class TArtikel //Basisklasse { private: char * name; long nummer; int anzahl; public: TArtikel (char * neuname, long neunummer, int neuanzahl); //Konstruktor char * getname (void); void setname (char * neuname); long getnummer (void); void setnummer (long neunummer); int getanzahl (void); void setanzahl (int neuanzahl); void print (void); }; TArtikel.cpp #include "TArtikel.h" TArtikel::TArtikel (char * neuname, long neunummer, int neuanzahl) //Konstruktor { setname (neuname); setnummer (neunummer); setanzahl (neuanzahl); } char * TArtikel::getname (void) { return name; } void TArtikel::setname (char * neuname) { * name = * neuname; } long TArtikel::getnummer (void) { return nummer; } void TArtikel::setnummer (long neunummer) { nummer = neunummer; } int TArtikel::getanzahl (void) { return anzahl; } void TArtikel::setanzahl (int neuanzahl) { if (neuanzahl > 0) anzahl = neuanzahl; else anzahl = 0; } void TArtikel::print (void) { cout << "-----------------------------------------------------------"; cout <<"Artikel-Name: " <<getname() <<"\n"; cout <<"Artikel-Nummer: " <<getnummer() <<"\n"; cout <<"Artikel-Anzahl: " <<getanzahl() <<"\n"; } TElektro.h #include "TArtikel.h" #ifndef TElektroH #define TElektroH class TElektro : public TArtikel { private: float volt; float watt; public: TElektro (char * neuname, long neunummer, int neuanzahl, float neuvolt, float neuwatt); float getvolt (void); void setvolt (float neuvolt); float getwatt (void); void setwatt (float neuwatt); void print (void); }; TElektro.cpp #include "TElektro.h" TElektro::TElektro (char * neuname, long neunummer, int neuanzahl, float neuvolt, float neuwatt); :TArtikel (neuname, neunummer, neuanzahl) { setvolt(neuvolt); setwatt(neuwatt); } float TElektro::getvolt (void) { return volt; } void TElektro::setvolt (float neuvolt) { if (neuvolt > 0) volt = neuvolt; else volt = 0; } float TElektro::getwatt (void) { return watt; } void TElektro::setwatt (float neuwatt) { if (neuwatt > 0) watt = neuwatt; else watt = 0; } void TElektro::print (void) { TArtikel::print(); cout <<"Spannung (Volt): " << getvolt() <<"\n"; cout <<"Verbrauch (Watt): " << getwatt () <<"\n"; }
Der Compiler (C++ Builder 5) gibt immer folgende Fehler meldung beim Compilieren:
[C++ Fehler] TElektro.cpp(18): E2333 Klassenelement 'TElektro::TElektro(char *,long,int,float,float)' ist außerhalb der Klasse deklariert.
[C++ Fehler] TElektro.cpp(19): E2040 Deklaration nicht ordnungsgemäß abgeschlossenWo liegt der Fehler? Wahrscheinlich habe ich bloss irgendwo was kleines vergessen?
[ Dieser Beitrag wurde am 30.03.2003 um 11:25 Uhr von Shitman editiert. ]
[ Dieser Beitrag wurde am 30.03.2003 um 11:30 Uhr von Shitman editiert. ]
-
TElektro::TElektro (char * neuname, long neunummer, int neuanzahl, float neuvolt, float neuwatt); //Ohne das ; :TArtikel (neuname, neunummer, neuanzahl)
[ Dieser Beitrag wurde am 30.03.2003 um 11:31 Uhr von Kräuterkundestudent editiert. ]
-
Aaaaaahhhhhhrrrrrrgggggg !#?!###*"!!
Ich hasse es
Immer dasselbe. Man schaut sooooo lange auf den Quelltext dass man sowas nicht sieht.Vielen vielen Dank