写一个C++程序, 声明一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况编写程序声明一个基类BaseClass,构造其派生类DerivedClass,在构造函数和析构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况。
时间: 2024-02-12 18:07:16 浏览: 146
包含构造函数和析构函数的C++程序
好的,以下是程序的实现:
```c++
#include <iostream>
using namespace std;
class BaseClass {
public:
int Number;
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 d;
return 0;
}
```
程序中,首先定义了一个基类`BaseClass`,其中有一个整型成员变量`Number`,并在构造函数和析构函数中分别输出提示信息。然后定义了一个派生类`DerivedClass`,继承自`BaseClass`,并在构造函数和析构函数中分别输出提示信息。最后在`main`函数中创建一个`DerivedClass`对象`d`,观察构造函数和析构函数的执行情况。
运行程序后,输出结果如下:
```
BaseClass constructor called
DerivedClass constructor called
DerivedClass destructor called
BaseClass destructor called
```
从输出结果可以看出,对象创建时先执行基类的构造函数,再执行派生类的构造函数;对象销毁时先执行派生类的析构函数,再执行基类的析构函数。这就是多态性的体现,派生类对象包含了基类对象,因此在创建和销毁对象时都要先执行基类的构造函数和析构函数。
阅读全文