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?
-
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.