c++

C++ object如何实现多态

小樊
83
2024-07-17 20:07:44
栏目: 编程语言

在C++中,实现多态性通常通过虚函数和继承来完成。具体的实现步骤如下:

  1. 在基类中声明虚函数:在基类中声明至少一个虚函数。这些虚函数可以在派生类中被重写。
class Base {
public:
    virtual void display() {
        std::cout << "Base class display()" << std::endl;
    }
};
  1. 派生类中实现虚函数:在派生类中重写基类中声明的虚函数。
class Derived : public Base {
public:
    void display() override {
        std::cout << "Derived class display()" << std::endl;
    }
};
  1. 使用指向基类的指针或引用调用虚函数:通过使用基类的指针或引用,可以实现多态性,使得不同的派生类对象可以通过相同的接口被调用。
int main() {
    Base* b = new Derived();
    b->display(); // 输出: Derived class display()

    delete b;
    return 0;
}

在上述示例中,基类Base中声明了一个虚函数display(),派生类Derived中重写了display()函数。在main函数中,通过创建Derived类的对象并赋值给Base类的指针b,调用display()函数时会根据实际对象的类型来调用相应的函数,实现了多态性。

0
看了该问题的人还看了