c++ 类的继承和多态例子
作者:野牛程序员:2023-07-01 09:29:46 C++阅读 2734
当谈论C++的类的继承和多态时,一个经典的例子是动物类(Animal)及其派生类狗类(Dog)和猫类(Cat)。以下是一个简单的示例代码:
#include <iostream>
using namespace std;
// 基类
class Animal {
public:
virtual void makeSound() {
cout << "动物发出声音" << endl;
}
};
// 派生类1
class Dog : public Animal {
public:
void makeSound() {
cout << "狗发出汪汪声" << endl;
}
};
// 派生类2
class Cat : public Animal {
public:
void makeSound() {
cout << "猫发出喵喵声" << endl;
}
};
int main() {
Animal* animal;
Dog dog;
Cat cat;
// 使用基类指针指向派生类对象,实现多态
animal = &dog;
animal->makeSound(); // 输出:狗发出汪汪声
animal = &cat;
animal->makeSound(); // 输出:猫发出喵喵声
return 0;
}在上面的示例中,我们定义了一个基类Animal,它有一个虚函数makeSound()。然后,我们创建了两个派生类Dog和Cat,并分别重写了makeSound()函数。
在主函数中,我们使用基类指针animal来指向派生类对象。通过将派生类对象的地址赋值给基类指针,我们实现了多态。然后,我们通过调用animal->makeSound()来调用相应的派生类对象的函数。
在运行时,程序根据指针指向的实际对象类型,调用相应的派生类对象的函数,从而实现了多态。输出结果将根据所指向的对象类型而不同。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

