简述虚函数实现多态的原理
时间: 2024-01-19 15:03:40 浏览: 88
虚函数实现多态
虚函数实现多态的原理是通过在基类中声明虚函数,并在派生类中进行重写。当通过基类指针或引用调用虚函数时,实际执行的是派生类中的重写函数。
具体实现原理如下:
1. 在基类中声明虚函数:在基类中使用关键字`virtual`声明一个函数为虚函数,例如:
```cpp
class Base {
public:
virtual void func() {
// 基类中的虚函数实现
}
};
```
2. 在派生类中重写虚函数:在派生类中使用相同的函数名和参数列表重写基类中的虚函数,例如:
```cpp
class Derived : public Base {
public:
void func() override {
// 派生类中的虚函数实现
}
};
```
3. 通过基类指针或引用调用虚函数:通过基类指针或引用调用虚函数时,实际执行的是派生类中的重写函数,例如:
```cpp
Base* ptr = new Derived();
ptr->func(); // 调用的是Derived类中的func函数
```
这样,通过虚函数的机制,可以实现在运行时根据对象的实际类型来调用相应的函数,从而实现多态性。
阅读全文