I dont całkowicie zrozumieć:prywatne dziedziczenie
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
}
Czy dlatego, że ktoś może zadzwonić do call() używając bPtr która jest faktycznie wykonywane na obiekcie pochodzi? Czy jest jakiś inny powód?
To dziedziczenie implementacji, a nie dziedziczenie interfejsu. –
@ Laurence: prawda, ale to tylko kłóci się z terminologią. Byłem zainteresowany widokiem z zewnątrz na zajęcia. –
"_it is not inheritance_" Absolutnie źle. Jest ** dziedziczeniem z dostępem prywatnym. – curiousguy