在C++中,实现多态性通常通过虚函数和继承来完成。具体的实现步骤如下:
- 在基类中声明虚函数:在基类中声明至少一个虚函数。这些虚函数可以在派生类中被重写。
class Base { public: virtual void display() { std::cout << "Base class display()" << std::endl; } };
- 派生类中实现虚函数:在派生类中重写基类中声明的虚函数。
class Derived : public Base { public: void display() override { std::cout << "Derived class display()" << std::endl; } };
- 使用指向基类的指针或引用调用虚函数:通过使用基类的指针或引用,可以实现多态性,使得不同的派生类对象可以通过相同的接口被调用。
int main() { Base* b = new Derived(); b->display(); // 输出: Derived class display() delete b; return 0; }
在上述示例中,基类Base中声明了一个虚函数display(),派生类Derived中重写了display()函数。在main函数中,通过创建Derived类的对象并赋值给Base类的指针b,调用display()函数时会根据实际对象的类型来调用相应的函数,实现了多态性。