新建文件”lab7_2.cpp“,编写程序声明一个基类BaseClass,构造其派生类DerivedClass,在构造函数和析构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况
时间: 2024-02-12 14:06:48 浏览: 70
好的,以下是 lab7_2.cpp 的代码:
```cpp
#include <iostream>
class BaseClass {
public:
BaseClass() {
std::cout << "BaseClass constructor called." << std::endl;
}
~BaseClass() {
std::cout << "BaseClass destructor called." << std::endl;
}
};
class DerivedClass : public BaseClass {
public:
DerivedClass() {
std::cout << "DerivedClass constructor called." << std::endl;
}
~DerivedClass() {
std::cout << "DerivedClass destructor called." << std::endl;
}
};
int main() {
DerivedClass dc;
return 0;
}
```
在这个程序中,我们声明了一个基类 BaseClass,并使用 public 继承构造了一个派生类 DerivedClass。在 BaseClass 和 DerivedClass 中,我们分别定义了构造函数和析构函数,并在其中使用 cout 输出了一些提示信息。
在 main 函数中,我们创建了一个 DerivedClass 对象 dc。当程序运行时,将会依次调用 BaseClass 的构造函数、DerivedClass 的构造函数、DerivedClass 的析构函数和 BaseClass 的析构函数,输出以下内容:
```
BaseClass constructor called.
DerivedClass constructor called.
DerivedClass destructor called.
BaseClass destructor called.
```
这表明在对象创建时,先调用基类的构造函数,然后再调用派生类的构造函数;在对象销毁时,先调用派生类的析构函数,然后再调用基类的析构函数。
阅读全文