C++派生类的多态如何实现

   2024-10-02 5440
核心提示:C++中派生类的多态是通过虚函数和虚函数表实现的。在基类中声明一个虚函数,然后在派生类中重写这个虚函数,就可以实现多态。具

C++中派生类的多态是通过虚函数和虚函数表实现的。在基类中声明一个虚函数,然后在派生类中重写这个虚函数,就可以实现多态。

具体来说,当一个指向基类的指针或引用调用一个虚函数时,实际上会调用指向派生类对象的虚函数。这是因为每个对象都有一个虚函数表,存储了该对象的虚函数地址,通过这个虚函数表可以实现动态绑定,实现多态性。

以下是一个简单的示例:

#include <iostream>class Base {public:    virtual void print() {        std::cout << "Base::print() called" << std::endl;    }};class Derived : public Base {public:    void print() override {        std::cout << "Derived::print() called" << std::endl;    }};int main() {    Base* basePtr = new Derived();    basePtr->print(); // 输出 Derived::print() called    delete basePtr;    return 0;}

在上面的示例中,基类Base中声明了一个虚函数print(),派生类Derived重写了这个虚函数。在main()函数中,我们用一个指向基类对象的指针basePtr指向一个派生类对象,并调用print()函数,最终输出的是Derived::print() called,实现了多态。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号