新建文件”lab7_2.cpp“,编写程序声明一个基类BaseClass,构造其派生类DerivedClass,在构造函数和析构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况
时间: 2024-02-12 14:06:41 浏览: 66
好的,下面是代码实现:
```cpp
#include <iostream>
using namespace std;
class BaseClass {
public:
BaseClass() {
cout << "BaseClass constructor called." << endl;
}
~BaseClass() {
cout << "BaseClass destructor called." << endl;
}
};
class DerivedClass : public BaseClass {
public:
DerivedClass() {
cout << "DerivedClass constructor called." << endl;
}
~DerivedClass() {
cout << "DerivedClass destructor called." << endl;
}
};
int main() {
DerivedClass dc;
return 0;
}
```
程序运行结果如下:
```
BaseClass constructor called.
DerivedClass constructor called.
DerivedClass destructor called.
BaseClass destructor called.
```
从结果可以看出,当创建DerivedClass对象时,会先调用基类的构造函数,再调用派生类的构造函数;当对象销毁时,会先调用派生类的析构函数,再调用基类的析构函数。这说明C++中的构造函数和析构函数遵循了类的继承关系,先执行基类的构造函数和析构函数,再执行派生类的构造函数和析构函数。
阅读全文