В приведенном ниже коде на Си ++ с использованием виртуальных функцийВиртуальная функция в C++
#include<iostream>
using namespace std;
class Base{
public:
virtual void fun(){
cout << "Base::fun()called \n";
}
};
class Child : public Base {
public:
void fun() {
cout << "Child::fun() called\n";
}
void door(){
cout << "Child::door() called \n";
}
};
int main(){
Base *base_ptr = new Child();
base_ptr->fun();
return 0;
}
Как я вызываю функцию двери с помощью base_ptr? Этот вопрос задавали в интервью. мне было интересно, может ли это быть возможным
Спасибо за ваши ответы
Добавить 'виртуальной дверь недействительной() = 0;' к вам объявлению класса для 'Base'. Или вы не можете изменить базу? – drescherjm
@ drescherjm. Нет, вы не можете изменить Base – Zaks
Вы знаете, возможно, это был всего лишь трюк, чтобы выяснить, как вы реагируете, когда вы видите ООП и классы, которые были так неправильно использованы. –