override
关键字在 C++ 中用于确保派生类中的函数是覆盖基类中的虚函数。使用 override
关键字可以使得编译器在编译时检查派生类的函数确实覆盖了基类中的某个虚函数,这有助于避免因拼写错误或函数签名不匹配而导致的错误。
例如,假设我们有一个基类和一个派生类,基类中有一个虚函数:
cppclass Base { public: virtual void foo(int x) { std::cout << "Base foo: " << x << std::endl; } }; class Derived : public Base { public: void foo(int x) override { std::cout << "Derived foo: " << x << std::endl; } };
在这个例子中,派生类 Derived
通过使用 override
关键字指明它的 foo
函数是意图覆盖基类 Base
中的 foo
函数。如果我们将 Derived
类中的 foo
函数的签名改为 void foo(double x)
,编译器会报错,因为没有匹配的虚函数可以被覆盖,这有助于及时发现潜在的错误。
2024年6月29日 12:07 回复