Господа, расскажите, пожалуйста, на пальцах почему данный код не компилируется при использовании приватного наследования? Спасибо.
C
class Base
{
public:
Base(int sz) { }
virtual ~Base() { }
};
class Derived: private Base
{
public:
Derived(int sz) : Base(sz) { }
~Derived() { }
};
int main(void)
{
Base* b = new Base(100);
Base* d = new Derived(200);
delete b;
delete d;
}
Почему ‘Base’ is an inaccessible base of ‘Derived’ ?