Я потерян. У меня есть класс Editor
и класс Controller
. Классы WorkflowEditor
и WorkflowController
получены от Editor
и Controller
соответственно. Класс Controller
имеет защищенный член Editor editor
и класс WorkflowController
имеет частный член WorkflowEditor editor
(с таким же именем).Члены класса и наследование
Редактировать от EitanT:
Вот упрощенный код пропущено, чтобы проиллюстрировать то, что ОП описал:
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
имеют такое же имя, ISN член «унаследовал»?
Это трудно понять, что ваша проблема без фактического кода. Уменьшите проблему до минимального образца кода и опубликуйте его (трудно из текстового описания понять, удерживаете ли вы элемент указателем/ссылкой/значением или количеством экземпляров каждого объекта, лежащим вокруг) –
@dlib _ ... не является членом унаследованного? _: короче говоря, нет. –
@EitanT: Более длинный, но более правильный ответ будет «да». –