阅读量:0
在C++中,多态是面向对象编程的一个重要特性,它允许我们通过基类指针或引用来调用派生类的成员函数。实现多态的关键是使用虚函数(virtual functions)和动态绑定(dynamic binding)。
以下是实现多态的步骤:
- 创建基类,并声明虚函数:
class Base { public: virtual void display() { cout << "Base class display function"<< endl; } };
- 创建派生类,并重写虚函数:
class Derived : public Base { public: void display() override { cout << "Derived class display function"<< endl; } };
- 使用基类指针或引用调用派生类的成员函数:
int main() { Base* basePtr = new Derived(); // 使用基类指针指向派生类对象 basePtr->display(); // 调用派生类的display函数 Base& baseRef = *basePtr; // 使用基类引用指向派生类对象 baseRef.display(); // 调用派生类的display函数 delete basePtr; return 0; }
在这个例子中,我们创建了一个基类Base
和一个派生类Derived
。基类中声明了一个虚函数display()
,派生类重写了这个虚函数。在main()
函数中,我们使用基类指针和引用分别指向派生类对象,并调用display()
函数。由于display()
函数是虚函数,所以会根据对象的实际类型(派生类)来调用相应的函数,实现了多态。