Я использую личное наследование, и я удивлен, увидев, что в производном классе использование любого базового объекта не разрешено.
class A;
class B : private A;
class C : public B;
C::method_1()
{
A* a; // Temporary "A" object for local computation
}
Это не имеет никакого отношения к наследованию. Я не хочу получать доступ к this->base method
!
Эта конфигурация обеспечивает ошибку C2247 в Visual Studio ( "A" недоступна, потому что "B" использует 'private' для наследования от "A" ).