частное наследство
Я не совсем понимаю это:
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
}
Это потому, что кто-то может вызвать call (), используя bPtr, который фактически выполняется на производном объекте? Или есть другая причина?