用cpp写一个封装继承多肽的例子
时间: 2023-03-26 13:02:33 浏览: 65
好的,以下是一个用 C++ 编写的封装继承多态的例子:
```
#include <iostream>
using namespace std;
// 基类 Animal
class Animal {
public:
virtual void speak() {
cout << "动物发出声音" << endl;
}
};
// 派生类 Dog
class Dog : public Animal {
public:
void speak() {
cout << "汪汪汪" << endl;
}
};
// 派生类 Cat
class Cat : public Animal {
public:
void speak() {
cout << "喵喵喵" << endl;
}
};
int main() {
Animal *animal;
Dog dog;
Cat cat;
animal = &dog;
animal->speak();
animal = &cat;
animal->speak();
return ;
}
```
这个例子中,Animal 是一个基类,Dog 和 Cat 是派生类。派生类继承了基类的成员函数和变量,并且可以重写基类的成员函数。在 main 函数中,我们创建了一个指向 Animal 类型的指针 animal,然后将它分别指向 Dog 和 Cat 对象。通过调用 animal->speak(),我们可以看到不同的动物发出了不同的声音。这就是多态的体现。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)