[GELÖST] Friend auch nach Vererbung noch vorhanden?



  • Hi

    Ich habe diesen Code:

    class A
    {
      int abc;
      friend class B;
    };
    class B
    {
    };
    class C : public B
    {
    };
    

    Kann jetzt eine Funktion der Klasse C immernoch auf den Integer abc der Klasse A zugreifen?

    Vielen Dank im Voraus!

    EDIT: Fehler behoben...



  • Nein, da das 1. generell nicht gilt und 2. bei dir im Speziellen sich das friend -Statement in der falschen Klasse befindet.



  • Hab den Fehler schon behoben 😃

    Wie löse ich dann folgendes Problem?
    Ich habe eine Klasse names System. Nun habe ich eine Klasse namens Objekt. In der Klasse System steht friend class Object; . Nun werden unzählige neue Klassen gemacht, die die grundliegenden Dinge von der Klasse Objekt übernehmen. Allerdings muss jedes dieseo Objekte auf die Klasse System zugreifen können...



  • X.DarkForce.X schrieb:

    Hab den Fehler schon behoben 😃

    Wie löse ich dann folgendes Problem?
    Ich habe eine Klasse names System. Nun habe ich eine Klasse namens Objekt. In der Klasse System steht friend class Object; . Nun werden unzählige neue Klassen gemacht, die die grundliegenden Dinge von der Klasse Objekt übernehmen. Allerdings muss jedes dieseo Objekte auf die Klasse System zugreifen können...

    Das solltest du genauer erläutern. Was willst du damit erreichen? Eventuell solltest du dir ein anderes Design überlegen, wenn dein bisheriges so nicht funktioniert.



  • Wenn so viele Objekte Zugriff auf ein System Objekt brauchen, dann sollte dieser Zugriff über ein öffentliches Interface möglich sein. Was bringt es die Dinge private zu machen, wenn doch alle Objekte friends sind? Definiere klar, auf welche Dinge man von außen Zugriff braucht. Dann kannst dafür public Methoden schreiben.

    Gruß,
    Don06



  • OK, danke! 👍
    Kann geclosed werden...


Anmelden zum Antworten