laptop::laptop() { cout <<" Klasse L baue auf\n" <<endl; }
laptop::~laptop() { cout <<" Klasse L zerstoere\n" <<endl; }
int laptop::getWlan() { return wlan; }
void laptop::setWlan(int w) { wlan=w; }
void laptop::
display() { cout <<" Die W-Lan Geschwindigkeit betraegt:" <<wlan; }
Wie ich schon sagte ich will aus einer Basisklasse ein element vererben , das dann bei der unterklasse mit angezeigt werden soll. Wie soll ich das anstellen.. Ich bin ein echter noob also bitte dringend helfen
fehler sind
--------------------Konfiguration: elektro - Win32 Debug-------------------- Kompilierung läuft... main.cpp CDokumente und Einstellungen\Robtschick\Desktop\C\Elektro2\Elektro\elektro\main.cpp(51) : error C2039: 'setGrafikkarte' : Ist kein Element von 'elektro' cdokumente und einstellungen\robtschick\desktop\c\elektro2\elektro\elektro\basis.h(8) : Siehe Deklaration von 'elektro' CDokumente und Einstellungen\Robtschick\Desktop\C\Elektro2\Elektro\elektro\main.cpp(65) : error C2039: 'setWlan' : Ist kein Element von 'elektro' cdokumente und einstellungen\robtschick\desktop\c\elektro2\elektro\elektro\basis.h(8) : Siehe Deklaration von 'elektro' Fehler beim Ausführen von cl.exe.
Du hast die Vererbung falsch verstanden. Die Methode 'setGrafikkarte' ist keine virtuelle Methode der Basisklasse Elektro, daher kannst du nicht mittels des Basisklassen-Zeiges 'zeiger' darauf zugreifen. Du mußt dann dafür explizit in den passenden Klassenzeiger casten, z.B.
cout <<" neustart Fragezeichen ja (j) nein (n) " <<endl; cin >> neustart; if (neustart=="j") {
system("cls"); main();
}
else{ return0; } return0;
}
nun hab ich 3 fehler und die sind auch ganz komisch
--------------------Konfiguration: elektro - Win32 Debug-------------------- Kompilierung läuft... main.cpp CDokumente und Einstellungen\Robtschick\Desktop\C\Elektro\elektro\main.cpp(22) : error C2683: dynamic_cast : 'elektro' ist kein polymorpher Typ cdokumente und einstellungen\robtschick\desktop\c\elektro\elektro\basis.h(8) : Siehe Deklaration von 'elektro' CDokumente und Einstellungen\Robtschick\Desktop\C\Elektro\elektro\main.cpp(23) : error C2683: dynamic_cast : 'elektro' ist kein polymorpher Typ cdokumente und einstellungen\robtschick\desktop\c\elektro\elektro\basis.h(8) : Siehe Deklaration von 'elektro' CDokumente und Einstellungen\Robtschick\Desktop\C\Elektro\elektro\main.cpp(54) : error C2039: 'setArbeitsspeicher' : Ist kein Element von 'computer' cdokumente und einstellungen\robtschick\desktop\c\elektro\elektro\basis.h(28) : Siehe Deklaration von 'computer' Fehler beim Ausführen von cl.exe.
Wenn ich mich gut erinnere, musst du wenigstens eine virtuelle Methode in elektro haben, um dynamic_cast zu benutzen.Dieser Post wurde am 12.05.2006 um 17:17 Uhr von lich editiert.
Steht doch alles da ... -- perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'