温馨提示×

Linux C++中多态性如何实现

小樊
44
2025-11-09 08:59:45
栏目: 编程语言

在C++中,多态性是通过虚函数(virtual functions)和继承(inheritance)来实现的。多态性允许我们使用基类的指针或引用来调用派生类的成员函数。以下是实现多态性的步骤:

  1. 创建一个基类,并在其中声明虚函数。虚函数是在基类中使用关键字virtual声明的成员函数。这意味着派生类可以覆盖(override)这个函数。
class Base {
public:
    virtual void print() {
        cout << "Base class print function" << endl;
    }
};
  1. 创建一个或多个派生类,并覆盖基类中的虚函数。在派生类中,使用相同的函数签名覆盖基类中的虚函数。
class Derived1 : public Base {
public:
    void print() override {
        cout << "Derived1 class print function" << endl;
    }
};

class Derived2 : public Base {
public:
    void print() override {
        cout << "Derived2 class print function" << endl;
    }
};
  1. 使用基类的指针或引用来调用派生类的成员函数。这里我们使用基类指针指向派生类对象,并通过基类指针调用虚函数。
int main() {
    Base *basePtr;
    Derived1 derived1;
    Derived2 derived2;

    basePtr = &derived1;
    basePtr->print(); // 输出 "Derived1 class print function"

    basePtr = &derived2;
    basePtr->print(); // 输出 "Derived2 class print function"

    return 0;
}

在这个例子中,我们使用基类Base的指针basePtr分别指向Derived1Derived2的对象。当我们通过basePtr调用print()函数时,实际调用的是派生类中覆盖的版本。这就是C++中的多态性。

0