C++的多态性是通过虚函数(virtual function)和动态绑定(dynamic binding)实现的。在运行时,程序会根据对象的实际类型来调用相应的函数实现,这就是运行时绑定。
要实现运行时绑定,你需要遵循以下步骤:
virtual声明一个成员函数,这样派生类就可以重写这个函数。class Base {
public:
    virtual void show() {
        cout << "Base class show function" << endl;
    }
};
class Derived : public Base {
public:
    void show() override {
        cout << "Derived class show function" << endl;
    }
};
int main() {
    Base *basePtr = new Derived(); // 使用基类指针指向派生类对象
    basePtr->show(); // 运行时根据对象的实际类型调用相应的函数实现
    delete basePtr;
    return 0;
}
在这个例子中,basePtr是一个指向Derived类对象的基类指针。当我们调用basePtr->show()时,程序会根据basePtr指向的实际对象类型(即Derived类)来调用show函数。因此,输出结果为Derived class show function。