我搞不清楚了。我有一堂课Editor
和一堂课Controller
。类WorkflowEditor
和WorkflowController
派生自Editor
和Controller
分别。类Controller
有一个受保护的成员Editor editor
,而类WorkflowController
有一个私有成员WorkflowEditor editor
(同名)。
从 EitanT 编辑:
这是一个简化的代码,用于说明 OP 所描述的内容:
class Controller
{
Editor editor;
// ...
}
class WorkflowEditor : public Editor {
// ...
};
class WorkflowController : public Controller {
WorkflowEditor editor;
// ...
};
我的应用程序是一个带有图形界面的模块。在工作流模式下,Launch 上会出现一个功能区,并显示一个向导。单击一个按钮时,将Controller
调用类中的一个方法。执行崩溃是因为此时,Editor editor
具有类型的对象的类成员Controller
已死。我希望班级成员Editor editor
与班级成员WorkflowEditor editor
相同(同名)。
换句话说,如果一个类A
有一个类的成员B
并且类childA
(派生自A
)有一个类的成员childB
(派生自B
),并且类型的成员childB
具有B
相同的名称,那么该成员不是“继承”的吗?