Ich verstehe das nicht ganz:
class Base
{
public:
Base()
{
cout<<"Base" << endl;
}
virtual void call()
{
cout<<"Base call" << endl;
}
};
class Derived: private Base
{
public:
Derived()
{
cout<<"Derived" << endl;
}
};
int main(void)
{
Base *bPtr = new Derived(); // This is not allowed
}
Ist es, weil jemand Aufruf() mit bPtr, die tatsächlich auf abgeleitete Objekt getan wird? Oder gibt es einen anderen Grund?