C++中如何生成多态对象

avatar
作者
猴君
阅读量:0

在C++中,要生成多态对象,需要使用基类指针或引用来指向派生类对象。这样可以让我们通过基类接口调用派生类的实现,实现多态行为。

下面是一个简单的示例:

#include<iostream>  // 基类 class Animal { public:     virtual void makeSound() const {         std::cout << "The animal makes a sound"<< std::endl;     } };  // 派生类1 class Dog : public Animal { public:     void makeSound() const override {         std::cout << "The dog barks"<< std::endl;     } };  // 派生类2 class Cat : public Animal { public:     void makeSound() const override {         std::cout << "The cat meows"<< std::endl;     } };  int main() {     // 使用基类指针创建多态对象     Animal* animal1 = new Dog();     Animal* animal2 = new Cat();      // 通过基类指针调用派生类的方法     animal1->makeSound(); // 输出 "The dog barks"     animal2->makeSound(); // 输出 "The cat meows"      // 释放内存     delete animal1;     delete animal2;      return 0; } 

在这个示例中,我们定义了一个基类Animal和两个派生类DogCat。基类中有一个虚函数makeSound(),派生类分别重写了这个函数。在main()函数中,我们使用基类指针Animal*创建了多态对象,并通过基类接口调用了派生类的实现。这就是C++中多态对象的创建和使用方式。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!