Легко понять виртуальную функцию в публичном наследовании. Итак, какова точка для виртуальной функции в частном или защищенном наследовании?
Например:
class Base {
public:
virtual void f() { cout<<"Base::f()"<<endl;}
};
class Derived: private Base {
public:
void f() { cout<<"Derived::f()"<<endl;}
};
Это все еще называется переопределением? Какое использование этого случая? Какая связь этих двух f()?
Спасибо!