迷っています。クラス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;
// ...
};
私のアプリケーションは、グラフィカル インターフェイスを備えたモジュールです。ワークフロー モードでは、起動時にリボンが表示され、ウィザードが表示されます。1 つのボタンをクリックすると、クラス内のメソッドControllerが呼び出されます。この時点で、Editor editor型を持つオブジェクトのクラス メンバーControllerが死んでいるため、実行がクラッシュします。Editor editorクラスメンバーをクラスメンバーWorkflowEditor editor(同名)と同じにしたいです。
つまり、クラスAにクラスのメンバーがありB、クラスchildA(から派生)Aにクラスのメンバー(から派生) があり、型のメンバーと同じ名前を持つ場合、メンバーは「継承」されませんか?childBBchildBB