override关键字确保在派生类中声明的重写函数与基类的虚函数有相同的签名,同时也明确表明将会重写基类的虚函数,这样就可以保证重写的虚函数的正确性,也提高了代码的可读性,和final一样,这个关键字要写到方法的后面。
1.有继承关系
2.子类重写父类虚函数
3.父类指针或引用指向子类对象
代码如下:
#include <iostream>
using namespace std;class Base
{
public:virtual void test(){cout << "Base class..." << endl;}
};class Child :public Base
{
public:void test() override {cout << "Child class..." << endl;}
};class GrandChild :public Child
{
public:void test() override{cout << "GrandChild class..." << endl;}
};