温馨提示×

Linux C++中多态如何实现

小樊
43
2025-10-10 12:29:43
栏目: 编程语言

在C++中,多态是通过虚函数(virtual function)和继承(inheritance)来实现的。多态允许我们使用基类的指针或引用来调用派生类的成员函数,从而实现动态绑定(dynamic binding)。

以下是一个简单的例子来说明如何在C++中实现多态:

  1. 首先,创建一个基类Base,并声明一个虚函数print()
#include <iostream>

class Base {
public:
    virtual void print() {
        std::cout << "This is the Base class." << std::endl;
    }
};
  1. 然后,创建一个派生类Derived,并重写(override)基类中的虚函数print()
class Derived : public Base {
public:
    void print() override {
        std::cout << "This is the Derived class." << std::endl;
    }
};
  1. 接下来,创建一个函数showPrint(),它接受一个基类指针作为参数,并调用print()函数:
void showPrint(Base* obj) {
    obj->print();
}
  1. 最后,在main()函数中,创建一个基类对象和一个派生类对象,并使用基类指针调用showPrint()函数:
int main() {
    Base base;
    Derived derived;

    Base* ptr1 = &base;
    Base* ptr2 = &derived;

    showPrint(ptr1); // 输出:This is the Base class.
    showPrint(ptr2); // 输出:This is the Derived class.

    return 0;
}

在这个例子中,我们使用基类指针ptr1ptr2分别指向基类对象base和派生类对象derived。当我们通过这些指针调用showPrint()函数时,它会根据实际对象的类型(基类或派生类)来调用相应的print()函数。这就是C++中的多态。

0