частное наследство

Я не совсем понимаю это:

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, который фактически выполняется на производном объекте? Или есть другая причина?

Ответы на вопрос(6)

Ваш ответ на вопрос