虚函数,并给出示例代码
时间: 2024-09-09 20:08:14 浏览: 43
详解C++ 多态的实现及原理
虚函数(Virtual Function)是 C++ 中面向对象编程的重要概念之一,它使得子类能够重写基类中的函数,从而实现动态绑定或晚期绑定。这意味着当你通过基类指针或引用调用虚函数时,实际执行的是子类中的实现版本,而不是基类的默认行为。
在声明虚函数时,你需要使用 `virtual` 关键字。如果一个基类函数被声明为虚函数,那么它的所有派生类都会继承这个虚函数,并且可以通过基类指针或引用来访问这些派生类的版本。
以下是一个简单的例子:
```cpp
class Base {
public:
virtual void display() { // 声明虚函数
cout << "Base class display()" << endl;
}
};
class Derived : public Base {
public:
// 重写虚函数
void display() override {
cout << "Derived class display()" << endl;
}
};
int main() {
Base* basePtr = new Derived(); // 创建 Derived 对象并将其赋值给 Base 指针
// 使用基类指针调用虚函数
basePtr->display(); // 输出 "Derived class display()"
delete basePtr; // 删除对象
return 0;
}
```
在这个例子中,虽然我们使用的是基类 `Base` 的指针,但调用的实际上是 `Derived` 类中的 `display()` 函数,这就是多态性的体现。
阅读全文