如何实现C++的虚函数重写
时间: 2024-02-13 18:19:52 浏览: 117
在C++多继承体系当中,在派生类中可以重写不同基类中的虚函数。下面就是一个例子:
5星 · 资源好评率100%
在C++中,虚函数的重写是通过使用关键字`override`来实现的。虚函数是在基类中声明的,可以在派生类中进行重写。以下是实现虚函数重写的步骤:
1. 在基类中声明虚函数:在基类中声明一个虚函数,使用关键字`virtual`来标记该函数,表示它可以在派生类中进行重写。
```cpp
class Base {
public:
virtual void foo() {
// 基类中的默认实现
}
};
```
2. 在派生类中重写虚函数:在派生类中使用相同的函数名和参数列表重写基类中的虚函数。在函数声明后面添加关键字`override`,明确表明这是对基类虚函数的重写。
```cpp
class Derived : public Base {
public:
void foo() override {
// 派生类中的实现
}
};
```
3. 创建对象并调用虚函数:通过创建基类或派生类的对象,并通过指针或引用调用虚函数。根据对象的实际类型,将调用相应的重写函数。
```cpp
Base* obj = new Derived(); // 创建派生类对象的基类指针
obj->foo(); // 调用派生类中的重写函数
```
通过以上步骤,我们就可以实现C++中的虚函数重写,实现多态性。在运行时,根据对象的实际类型,动态地调用相应的函数实现。
阅读全文