Я понимаю, что С++ реализует виртуальные функции полиморфизма времени выполнения и что виртуальное ключевое слово наследуется, но я не вижу использования виртуального ключевого слова в производном классе.
например. В нижеприведенном случае, даже если вы уронили виртуальное ключевое слово в производном классе, вызов ptr- > method() перейдет к методу output::. Итак, какое дополнительное виртуальное ключевое слово выполняет в производном классе?
#include<iostream>
using namespace std;
class base
{
public:
virtual void method()
{
std::cout << std::endl << "BASE" << std::endl;
}
};
class derived: public base
{
public:
virtual void method()
{
std::cout << std::endl << "DERIVED" << std::endl;
}
};
int main()
{
base* ptr = new derived();
ptr->method();
return 9;
}