Zugriff auf geerbtes Klassenelement nicht möglich
-
Hi,
mein Compiler sagt:
Zugriff auf "TMyClass1::Elem" nicht möglich
Die Verhältnisse sehen so aus:
class TMyClass1 { private: void *Elem; ... }; class TMyClass2 : public TMyClass1 { ... public: int *Elem2; TMyClass2() { Elem = Elem2; //hier meckert er } ... };
Wieso meckert der Compiler?
Wenn ich mit public vererbe bleiben doch die Schutzattribute unverändert und TMyClass2 müßte doch als private-Member auch Elem haben oder nicht?
-
Wenn du es protected machst ( in der Basisklasse ) können die Kinder drauf zugreifen
class TMyClass1 { protected: // <---- hier void *Elem; ... };
MfG
-
nö, das ist bei protected der fall, nicht bei private.
Edit: Bäh, zu langsam...