C++ 中的多态性与派生类:深入解析
1. 多态性概述
多态性是面向对象编程中的一个重要概念,它允许派生对象被当作基类对象来处理。例如,我们有一个 Mammal 基类,以及从它派生出来的 Dog 、 Cat 、 Horse 等类。 Mammal 类有一个 speak() 成员函数,用于表示所有哺乳动物发出声音的能力。每个派生类都可以重写这个 speak() 函数,以实现自己独特的发声方式,比如狗“woof”,猫“meow”。
当我们有一个包含多种哺乳动物对象的集合(如农场里的狗、猫、马和牛)时,我们希望农场能够让每个对象调用 speak() 函数,而不需要知道或关心它们具体是如何实现这个函数的。这就是多态性的体现,我们可以通过调用 Mammal 类的 speak() 函数来处理这些对象,而不必在意实际对象的具体类型。
多态性的实现依赖于虚成员函数。虚成员函数使用 virtual 关键字声明,例如:
virtual void speak() const { std::cout << "Mammal speak!\n"; }
2. 虚成员函数实现多态性示例
以下是一个示例程序 Mammal8.cpp
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



