前言
在C++中,虚函数是一种在基类中声明的虚函数,用于实现多态(Polymorphism),让派生类根据运行时类型调用适当的函数。以下是关于C++虚函数的定义、使用和细节。
一、 虚函数的定义
在基类中使用关键字 virtual
声明一个函数为虚函数,派生类可以覆盖(Override)基类中的虚函数。
示例:
class Base {
public:
virtual void virtualFunction() {
cout << "Base virtual function" << endl;
}
};
二、虚函数的使用
通过指针或引用访问对象时,根据对象的实际类型来调用适当的虚函数,而不是根据指针或引用的静态类型。
示例:
Base* ptr = new Derived(); // Derived 类是 Base 类的派生类
ptr->virtualFunction(); // 可以调用 Derived 类中覆盖的虚函数
总结
- 仅将基类中的函数声明为虚函数,就可以实现多态。
- 虚函数可以在派生类中被重写(Override),覆盖基类中的虚函数实现。
- 若派生类中没有重写基类的虚函数,则将调用基类的虚函数。
- 可以将虚函数设置为纯虚函数(Pure Virtual Function),要求派生类必重写。