在C++中,多态可以通过虚函数来实现。正确的姿势是在基类中声明虚函数,并在派生类中重新实现这些虚函数。这样在运行时,根据对象的实际类型来调用相应的函数。
#includeclass Base { public: virtual void display() { std::cout << "Base class display function" << std::endl; } }; class Derived : public Base { public: void display() override { std::cout << "Derived class display function" << std::endl; } }; int main() { Base* basePtr = new Derived(); basePtr->display(); // 输出 "Derived class display function" delete basePtr; return 0; }
在上面的例子中,Base
类中有一个虚函数display()
,在Derived
类中重新实现了这个虚函数。在main
函数中,通过Base
类的指针指向Derived
类的对象,调用display()
函数时会根据对象的实际类型来调用相应的函数,实现了多态性。