Если 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 иметь какое-либо значение в любой комбинации?