C++中的虚函数(Virtual Functions)是一种用于实现多态的重要功能。它们允许在派生类中重新定义基类中的方法,从而根据对象的实际类型调用适当的方法。这里是关于虚函数的一些基本用法和概念:
-
声明虚函数:在基类中,你可以通过在函数声明前添加
virtual
关键字来声明一个虚函数。例如:virtual void display();
-
重写虚函数:在派生类中,你可以重写基类中声明的虚函数。这不是强制性的,但如果你需要改变或扩展该函数的行为,这是必要的。例如,如果基类有一个名为
display
的虚函数,派生类可以重写这个函数。 -
析构函数:如果你有一个基类指针指向一个派生类的对象,并且你通过该指针删除对象,你应该在基类中声明虚析构函数。这确保了对象的适当销毁。
-
多态:虚函数的主要用途是实现多态。当你有一个指向派生类对象的基类指针或引用时,可以通过这个指针或引用调用虚函数,实际上会调用派生类中的重写版本(如果有的话)。
-
纯虚函数:如果你想创建一个抽象基类,其中某些函数是必须在派生类中实现的,你可以声明纯虚函数。这是通过将函数初始化为0来完成的,例如:
virtual void pureFunction() = 0;
下面是一个简单的例子来展示虚函数的用法: