小编Gui*_*ine的帖子

私有继承中不允许使用基础对象

我正在使用私有继承,我很惊讶地发现在派生类中不允许使用任何基础对象.

class A;
class B : private A;
class C : public B;

C::method_1()
{
    A* a; // Temporary "A" object for local computation
}
Run Code Online (Sandbox Code Playgroud)

这与继承无关.我不想访问任何this->base method!

此配置在Visual Studio中提供C2247错误("'A'不可访问,因为'B'使用'private'继承'A'").

c++ oop inheritance

18
推荐指数
2
解决办法
1305
查看次数

标签 统计

c++ ×1

inheritance ×1

oop ×1