en.wikipedia.org/wiki/Virtual_inheritance
я есть основной вопрос, связанный с множественным наследованием в C ++. Если у меня есть код, как показано ниже:
struct base1 {
void start() { cout << "Inside base1"; }
};
struct base2 {
void start() { cout << "Inside base2"; }
};
struct derived : base1, base2 { };
int main() {
derived a;
a.start();
}
что дает следующую ошибку компиляции:
1>c:\mytest.cpp(41): error C2385: ambiguous access of 'start'
1> could be the 'start' in base 'base1'
1> or could be the 'start' in base 'base2'
Нет ли способа вызвать функциюstart()
из конкретного базового класса, используя объект производного класса?
Я не знаю сценарий использования сейчас, но ... все же!