c++程序有如下成员变量时该如何编写析构函数:
时间: 2024-02-03 13:16:34 浏览: 176
如果 C++ 程序有如下成员变量:
```cpp
class MyClass {
private:
int* ptr;
public:
int val;
};
```
其中,`ptr` 是一个指向 `int` 类型的指针,`val` 是一个 `int` 类型的变量。在这种情况下,需要编写析构函数来释放 `ptr` 指向的内存。可以按照以下方式编写析构函数:
```cpp
class MyClass {
private:
int* ptr;
public:
int val;
~MyClass() {
delete ptr;
}
};
```
这里使用了 `delete` 运算符来释放 `ptr` 指向的内存。注意,如果 `ptr` 没有指向任何内存,那么 `delete` 运算符不会做任何事情,也不会出错,因此可以安全地在析构函数中调用。当然,如果 `ptr` 指向的内存是在其他地方分配的,那么也需要在其他地方释放它,否则可能会出现内存泄漏问题。
阅读全文