Friend Klasse kann nicht auf private member zugreifen ?
-
Hallo zusammen,
ich habe folgenden Code :
class A { private : B* p_aufB; friend class C; } class C { // Hier möchte ich im Konstruktor das Elemt p_aufB der Class A setzen }Ich erhalte eine Meldung :
p_aufB is private ....
Kann da jemand was mit anfangen und mir vielleicht ein wenig helfen ?
Ebenso bekomme ich auch noch eine Fehlermeldung der Form :
*
synthesized method E::F::F() first required here*mit der ich nichts anfangen kann ...
Wäre über Hilfe sehr dankbar...
LG
-
Diesen Code hast du nicht. Zeig ein größeres Beispiel.
-
habe ich eigentlich schon
void C::C() { p_aufB = new B(); }
-
Toll, das ist aber grober Unfug im Zusammenhang mit deiner Klassendeklaration. Nochmal, bitte mehr Code.
-
class A:public class C { A(); } class C { private : B* p_aufB; friend class A; } class B:public class D { public: B(const& class D); private: B(); friend class C; } A::A() { p_aufB = new B(); }
-
Der Standard c'tor von class B ist privat...
-
und wenn ich den private lassen möchte ?
-
Hast du pech gehabt!
Freundschaften werden nich vererbt.
Du kannst A natürlich auch mit B befreunden oder C die Instanz von B erzeugen lassen.