C++ が仮想関数を介してランタイム ポリモーフィズムを実装し、仮想キーワードが継承されていることは理解していますが、派生クラスでの仮想キーワードの使用は見られません。
たとえば、以下のケースでは、派生クラスに virtual キーワードをドロップした場合でも、ptr->method() 呼び出しは派生::メソッドに移動します。では、この仮想キーワードは派生クラスで何をしているのでしょうか?
#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;
}