Vorrei ereditare da una classe annidata, che si trova nella sezione privata della classe esterna. È possibile?Eredità di classe innata e privata
class A {
friend class B;
friend class C;
private:
class NiceNestedClass {
};
};
class C {
void a() {
A::NiceNestedClass works;
}
};
class B : A::NiceNestedClass{
};
L'istanziazione di NiceNestedClass non è un problema. Ma g ++ non mi permette di ereditarmi. C'è qualche soluzione?
g++ -std=c++11 a.c -o a
a.c:5:11: error: ‘class A::NiceNestedClass’ is private
class NiceNestedClass {
^
a.c:15:14: error: within this context
class B : A::NiceNestedClass{
g ++ 4.8.4, std = C++ 11
Funziona: http://rextester.com/YIFH82076. Potresti postare l'errore che stai ottenendo? Probabilmente non è correlato. –