编写程序声明,一个哺乳动物Manimal内在由此派生出Dog,要求类中,必须包含输出信息的构造函数与析构函数声明一个类的对象使用程序,观察基类和派生类的构造函数和析构函数的调用顺序
时间: 2024-01-22 20:20:31 浏览: 97
编写程序描述狗
3星 · 编辑精心推荐
程序如下:
```cpp
#include <iostream>
class Manimal {
public:
Manimal() {
std::cout << "Manimal 构造函数被调用" << std::endl;
}
~Manimal() {
std::cout << "Manimal 析构函数被调用" << std::endl;
}
};
class Dog : public Manimal {
public:
Dog() {
std::cout << "Dog 构造函数被调用" << std::endl;
}
~Dog() {
std::cout << "Dog 析构函数被调用" << std::endl;
}
};
int main() {
Dog dog;
return 0;
}
```
输出结果如下:
```
Manimal 构造函数被调用
Dog 构造函数被调用
Dog 析构函数被调用
Manimal 析构函数被调用
```
从输出结果可以看出,当创建 Dog 对象时,首先会调用基类 Manimal 的构造函数,然后再调用派生类 Dog 的构造函数。在程序结束时,析构函数的调用顺序与构造函数的调用顺序相反,先调用派生类 Dog 的析构函数,然后再调用基类 Manimal 的析构函数。
阅读全文