迷っています。クラス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
にクラスのメンバー(から派生) があり、型のメンバーと同じ名前を持つ場合、メンバーは「継承」されませんか?childB
B
childB
B