C ++ использовать переменную дочернего элемента в функции-члене родительского класса - PullRequest
1 голос
/ 29 апреля 2020

У меня есть что-то вроде

class A {
 public:
    class subA {
     public:
        // some variables
    };
    std::vector<subA> children;
    void foo() {
        // modify children
    }
};

class B : public A {
 public:
    class subB : public A::subA {
     public:
        // some extra variables
    }
    std::vector<subB> children;
}

B b;
b.foo();

foo () использует только базовые атрибуты subA. Могу ли я в любом случае заставить B.foo () использовать дочерние элементы, составленные из subB, вместо дочерних элементов subA?

Поскольку A не знает о subB, означает ли это, что я должен сделать foo виртуальным и переписать тот же код, поэтому он использует правильный вектор детей (состоит из subB)? Есть ли лучший способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...