如何声明函数为虚函数
时间: 2024-09-26 16:12:42 浏览: 28
在 C++ 中,如果你想要让一个基类的成员函数能够被其派生类重写,你需要将其声明为虚函数。要在基类的函数原型前添加 `virtual` 关键字即可。例如:
```cpp
class BaseClass {
public:
// 声明虚函数
virtual void someFunction() {
// 基类的实现
}
};
```
当你在派生类中覆盖这个虚函数时,不需要再次声明为虚函数,因为派生类默认继承基类的所有虚函数。例如:
```cpp
class DerivedClass : public BaseClass {
public:
// 直接覆盖虚函数,无需再加 virtual
void someFunction() override { // 使用 override 关键字确保正确重写
// 派生类的实现
}
};
```
在这里,`override` 关键字是用来确保你在派生类中确实是在覆盖基类的虚函数,而不是新增一个同名但不是虚函数的新函数。
注意,在C++11及以后的版本中,如果你不打算在派生类中提供新的实现,可以直接省略 `virtual` 和 `override` 关键字,C++会自动推断出该函数是虚函数。但在C++98和C++03标准下,为了明确标识这是虚函数,应该使用 `virtual`。
阅读全文