Если B
наследует от A
с помощью public
, может ли B
переопределить одну из функций и заставить ее быть закрытой?
class A
{
public:
virtual double my_func1(int i);
virtual double my_func2(int i);
}
class B : public A // Notice the public inheritance
{
public:
virtual double my_func1(int i);
private:
virtual double my_func2(int i);
}
Как насчет другого пути? если тип наследования является закрытым - может B
принудительно открыть определенную функцию?
Что делать, если A
является чисто абстрактным? это имеет значение?
Будет ли protected
иметь какое-либо значение в любой комбинации?