C++ 中继承如何实现多态性?

在 c++++ 中,通过继承实现多态性,允许对象具有不同的行为,即便它们具有相同的公共基类。继承是一种创建新类的方法,其中新类(派生类)从现有类(基类)继承成员,并可以添加新成员。当使用派生类类型的指针或引用调用虚函数时,会调用派生类中重写

在 c++++ 中,通过继承实现多态性,允许对象具有不同的行为,即便它们具有相同的公共基类。继承是一种创建新类的方法,其中新类(派生类)从现有类(基类)继承成员,并可以添加新成员。当使用派生类类型的指针或引用调用虚函数时,会调用派生类中重写的方法。

C++ 中继承如何实现多态性?

C++ 中继承如何实现多态性

什么是多态性?

多态性允许对象具有不同的行为,即便它们具有相同的公共基类。在 C++ 中,使用继承实现多态性。

继承

继承是创建类的新方法的方法,其中新类(派生类)从现有类(基类)继承。派生类继承基类的所有成员(数据和函数),还可以添加自己的新成员。

多态性是如何通过继承实现的?

在多态性中,派生类对象可以指向其基类类型的指针或引用。当使用派生类类型的指针或引用调用虚函数时,会调用派生类中重写的方法。

示例:

class Animal {
public:
    virtual void makeSound() {
        cout << "Animal makes a sound" << endl;
    }
};

class Dog : public Animal {
public:
    void makeSound() override {
        cout << "Woof woof!" << endl;
    }
};

class Cat : public Animal {
public:
    void makeSound() override {
        cout << "Meow meow!" << endl;
    }
};

int main() {
    Animal* animal = new Cat(); // 指向 Cat 对象的 Animal 指针
    animal->makeSound(); // 输出 "Meow meow!"
}

登录后复制

在上面示例中:

  • Animal 是基类。
  • Dog 和 Cat 是派生类。
  • makeSound 是一个虚函数,在派生类中重写。
  • animal 是一个指向派生类对象的基类指针。

当调用 animal->makeSound() 时,会调用派生类(Cat)中重写的 makeSound 方法,输出 “Meow meow!”。

以上就是C++ 中继承如何实现多态性?的详细内容,更多请关注叮当号网其它相关文章!

文章来自互联网,只做分享使用。发布者:张大嘴,转转请注明出处:https://www.dingdanghao.com/article/521456.html

(0)
上一篇 2024-05-24 18:00
下一篇 2024-05-24 18:00

相关推荐

联系我们

在线咨询: QQ交谈

邮件:442814395@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信公众号