override的作用和好处
在C++中,override
关键字用于显式地告知编译器,当前的成员函数是对基类中的虚函数的重写
1. 明确表明重写意图
使用 override
关键字可以在代码中清晰地表达出当前函数是打算重写基类中的虚函数。这种明确性可以避免因为拼写错误、参数列表不匹配等导致的意外隐藏重写,帮助开发者更容易地理解和维护代码。
2. 编译器检查重写正确性
编译器会在使用 override
修饰的函数中检查是否真的重写了基类中的虚函数,如果没有正确重写,编译器将报错,这样可以在编译时期捕获并纠正潜在的错误。
class Base {
public:virtual void func(int x) const;
};class Derived : public Base {
public:void func(float x) const override; // 编译错误:参数列表不匹配
};