第1关:构造函数与析构函数的实现 答案
时间: 2023-12-18 20:02:27 浏览: 321
构造函数和析构函数是C++类中的两个重要函数。
构造函数用于初始化对象的数据成员,在对象创建时自动调用,可以有参数也可以没有参数。
析构函数用于清理对象占用的资源,在对象销毁时自动调用,没有参数也没有返回值。
下面是一个简单的类示例,包含了构造函数和析构函数的实现:
```c++
#include <iostream>
using namespace std;
class MyClass {
public:
MyClass(); // 声明默认构造函数
MyClass(int num); // 声明带参数构造函数
~MyClass(); // 声明析构函数
private:
int *ptr;
};
// 默认构造函数
MyClass::MyClass() {
cout << "Default constructor called." << endl;
ptr = new int;
*ptr = 0;
}
// 带参数构造函数
MyClass::MyClass(int num) {
cout << "Parameterized constructor called." << endl;
ptr = new int;
*ptr = num;
}
// 析构函数
MyClass::~MyClass() {
cout << "Destructor called." << endl;
delete ptr;
}
int main() {
MyClass obj1; // 调用默认构造函数
MyClass obj2(10); // 调用带参数构造函数
return 0;
}
```
输出结果:
```
Default constructor called.
Parameterized constructor called.
Destructor called.
Destructor called.
```
在上面的例子中,我们定义了一个名为MyClass的类,并实现了默认构造函数、带参数构造函数和析构函数。
在main函数中,我们创建了两个MyClass对象,一个使用默认构造函数创建,一个使用带参数构造函数创建。在程序结束时,析构函数会自动被调用,释放对象占用的资源。
阅读全文