Hallo Leute,
kann ein Problem nicht lösen. Und zwar will ich, dass beide definierte Klassen von einander etwas erben. Das klappt leider nicht.
Der Fehler lautet:
wenn ich die Zeilen:
a2.Entladen();
a2.Laden();
: public Ladungsraumschiff
entferne, läuft das Programm. Die Klasse Ladungsraumschiff erbt ohne Probleme die Sachen aus BasisRaumschiff. Aber warum will die BasisRaumschiff Klasse selbst nichts erben??
Bin für jede Hilfe dankbar
kann ein Problem nicht lösen. Und zwar will ich, dass beide definierte Klassen von einander etwas erben. Das klappt leider nicht.
Code:
#include <iostream>
using namespace std;
class BasisRaumschiff : public Ladungsraumschiff
{
public: // da es public ist, können andere Klassen aus dieser Klasse bestimmte Funktionen *leihen*
int farbe;
int energie;
BasisRaumschiff()
{
farbe = 1;
energie = 500;
cout << "Neues Raumschiff wurde erstellt!" << endl;
}
void starten()
{
cout << "Raumschiff startet" << endl;
}
void landen()
{
cout << "Raumschiff landet" << endl;
}
};
class Ladungsraumschiff : public BasisRaumschiff // hiermit vererbt Klasse Ladungsschiff paar Funktionen aus der Klasse BasisRaumschiff;
{
public:
int ladung;
int Maxbeladung;
Ladungsraumschiff()
{
ladung = 80;
Maxbeladung = 360;
cout << "Neues Ladungsraumschiff wurde erstellt!" << endl;
}
void Laden()
{
cout << "Transportraumschiff wird beladen" << endl;
}
void Entladen()
{
cout << "Transportraumschiff entlaedt" << endl;
}
virtual void starten()
{
cout << "Transportraumschiff startet" << endl;
}
virtual void landen()
{
cout << "Transportraumschiff landet" << endl;
}
};
int main()
{
Ladungsraumschiff a1;
a1.Laden();
a1.starten();
a1.landen();
a1.Entladen();
cout << endl;
BasisRaumschiff a2;
a2.Laden();
a2.starten();
a2.landen();
a2.Entladen();
system("Pause");
}
Der Fehler lautet:
Code:
Fehler 1 error C2504: 'Ladungsraumschiff': Basisklasse undefiniert c:\users\konny\documents\visual studio 2013\projects\klassen_vererbung\klassen_vererbung\main.cpp 5 1 klassen_vererbung
Fehler 2 error C2039: 'Laden': Ist kein Element von 'BasisRaumschiff' c:\users\konny\documents\visual studio 2013\projects\klassen_vererbung\klassen_vererbung\main.cpp 63 1 klassen_vererbung
Fehler 3 error C2039: 'Entladen': Ist kein Element von 'BasisRaumschiff' c:\users\konny\documents\visual studio 2013\projects\klassen_vererbung\klassen_vererbung\main.cpp 66 1 klassen_vererbung
wenn ich die Zeilen:
a2.Entladen();
a2.Laden();
: public Ladungsraumschiff
entferne, läuft das Programm. Die Klasse Ladungsraumschiff erbt ohne Probleme die Sachen aus BasisRaumschiff. Aber warum will die BasisRaumschiff Klasse selbst nichts erben??
Bin für jede Hilfe dankbar