Vererbungshyrachie
-
Hallo erstmal,
bin gerade daran etwas für ein Schulprojekt zu programmieren und bin nun auf folgendes Problem gestoßen:
#include <iostream> using namespace std; //-------------------------------------------------------------------------------------- class CMaterial { public: //Membervariablen double dichte; //Konstruktor CMaterial(){ dichte = 2.5; cout << "Konstruktor Material wurde aufgerufen\n" << dichte; }; }; //-------------------------------------------------------------------------------------- class CKoerper : CMaterial { }; //-------------------------------------------------------------------------------------- class CQuader : CKoerper { }; //-------------------------------------------------------------------------------------- int main () { //Variablen CMaterial Material; CKoerper Koerper; CQuader Quader; cout << "bla1: " << Material.dichte << endl; cout << "bla2: " << Koerper.dichte << endl; cout << "bla3: " << Quader.dichte << endl; return 0; }und erhalte nun folgende Fehermeldungen:
C:\test\test.cpp(54) : error C2248: "dichte" : Kein Zugriff auf public Element, dessen Deklaration in der Klasse "CMaterial" erfolgte
C:\test\test.cpp(13) : Siehe Deklaration von 'dichte'
C:\test\test.cpp(55) : error C2247: Kein Zugriff auf "dichte", da "CKoerper" "'private" verwendet, um von "CMaterial" zu erben
C:\test\test.cpp(13) : Siehe Deklaration von 'dichte'.
-
-
Ach verdammt... nur diese Kleinigkeit übersehen.
Bin schon selbst auf diesen Link gestoßen allerdings hab ich darin keine Lösung meines Problems gesehen... selbst jetzt hat es ein bisschen gedauert.
Trotzdem danke für die schnelle Antwort

-
Steffen540 schrieb:
[...] selbst jetzt hat es ein bisschen gedauert.
für's Durchhalten 