komplexe hierachie + friend&protected



  • Hi,
    ich habe ein relativ komplexe (viele Klassen + Template-Overloads etc.) Klassenhierarchie, bei der immer eine Klasse (protected) von einer anderen erbt.

    Ganz einfach als Beispiel so:

    class A
    {
    };
    class B : protected A
    {
    };
    class C : protected B
    {
    };
    
    //...
    
    class N : protected M
    {
    };
    

    Nun möchte ich in einem Operator auf die Basisklasse (A) von "N" zugreifen.
    Operator wird also Friend von N. Leider schlägt dann aber immer die Konvertierung fehl ('static_cast' : conversion from 'xxx' to 'xxx' exists, but is inaccessible). Die Konvertierung von N aber in den nächsten, "höher-gelegenen" Typ (bei N also M) klappt aber wunderbar...

    Was ist falsch?
    Muss der Operator friend von jeder Klasse in der Hierarchie sein?


  • Mod

    tatütata schrieb:

    Muss der Operator friend von jeder Klasse in der Hierarchie sein?

    nein. Zeig mal ein minimales (abgesehen von diesem Fehler kompilierbares) Beispiel.


Anmelden zum Antworten