
虚函数指针的用途及其用法
引言
在面向对象编程中,虚函数指针是至关重要的机制,它允许派生类覆盖基类的函数。这为实现多态性提供了便利,从而改善了代码的可扩展性和维护性。
虚函数指针的用途
虚函数指针用于指向基类的虚函数表,其中包含该类和所有派生类的虚函数地址。当一个对象调用虚函数时,它使用虚函数指针来确定要调用的实际函数。
如何使用虚函数指针
要使用虚函数指针,请执行以下步骤:
-
声明虚函数:在基类中声明虚函数,使用
virtual关键字。 -
在派生类中覆盖虚函数:在派生类中通过使用
override关键字覆盖基类的虚函数。 - 创建一个基类指针:创建一个指向基类的指针,该指针将用于访问派生类的虚函数。
实战案例
考虑以下示例:
#includeclass Base { public: virtual void print() { std::cout << "Base class" << std::endl; } }; class Derived : public Base { public: virtual void print() override { std::cout << "Derived class" << std::endl; } }; int main() { Base* basePtr; Derived derived; basePtr = &derived; basePtr->print(); // 输出 "Derived class" return 0; }
在这个示例中,Base 类有一个虚函数 print()。Derived 类从 Base 类继承并覆盖 print() 函数。当 basePtr 调用 print() 函数时,它使用虚函数指针来确定要调用的实际函数(Derived::print())。










