用c++声明一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况
时间: 2024-11-03 18:23:42 浏览: 13
在C++中,你可以首先声明一个基类`BaseClass`,它有一个整型成员变量`Number`。然后创建一个派生类`DerivedClass`,继承自`BaseClass`。当创建`DerivedClass`的对象时,会自动调用基类的构造函数设置`Number`,而析构函数会在对象生命周期结束时自动执行。
以下是基础的代码示例:
```cpp
// 声明基类 BaseClass
class BaseClass {
public:
int Number; // 成员变量
// 构造函数
BaseClass(int n) : Number(n) {
std::cout << "BaseClass constructor called with number: " << n << std::endl;
}
// 析构函数
~BaseClass() {
std::cout << "BaseClass destructor called" << std::endl;
}
};
// 派生类 DerivedClass
class DerivedClass : public BaseClass {
public:
// 如果没有特殊说明,默认构造函数将隐式调用基类的构造函数
DerivedClass(int n = 0) : BaseClass(n) {}
// 析构函数同样继承自基类
virtual ~DerivedClass() override {
std::cout << "DerivedClass destructor called" << std::endl;
}
};
int main() {
// 创建并初始化 DerivedClass 的对象
DerivedClass derivedObj(42);
return 0;
}
```
当你运行这个程序时,你会看到以下输出:
- `BaseClass constructor called with number: 42`
- `DerivedClass destructor called`
这表明当`DerivedClass`实例化时,先调用了基类的构造函数设置了`Number`,然后执行了派生类的构造函数。当`derivedObj`对象销毁时,先执行的是派生类的析构函数,接着才是基类的析构函数。
阅读全文