新建文件”lab7_2.cpp“,编写程序声明一个基类BaseClass,构造其派生类DerivedClass,在构造函数和析构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况
时间: 2024-02-12 07:06:11 浏览: 70
好的,这是 lab7_2.cpp 的代码实现,具体注释在代码中:
```c++
#include <iostream>
using namespace std;
class BaseClass {
public:
BaseClass() {
cout << "Constructing BaseClass..." << endl;
}
~BaseClass() {
cout << "Destructing BaseClass..." << endl;
}
};
class DerivedClass : public BaseClass {
public:
DerivedClass() {
cout << "Constructing DerivedClass..." << endl;
}
~DerivedClass() {
cout << "Destructing DerivedClass..." << endl;
}
};
int main() {
DerivedClass derivedObj;
return 0;
}
```
程序输出如下:
```
Constructing BaseClass...
Constructing DerivedClass...
Destructing DerivedClass...
Destructing BaseClass...
```
我们可以看到,在创建 DerivedClass 对象的时候,先调用了 BaseClass 的构造函数,然后调用了 DerivedClass 的构造函数;在销毁 DerivedClass 对象的时候,先调用了 DerivedClass 的析构函数,然后调用了 BaseClass 的析构函数。这是因为派生类对象的构造和析构顺序是先基类后派生类,析构顺序与构造顺序相反。
阅读全文