|
发表于 2025-2-23 23:29:45
|
显示全部楼层
你提供的代码中存在一些问题,以下是经过修正和完整的析构函数例子:
带有析构函数的Person类示例
- #include <iostream>
- using namespace std;
- class Person {
- public:
- int age;
- int* p;
- // 构造函数
- Person(int a) {
- age = a;
- p = new int(a); // 动态分配内存
- }
- // 析构函数:使用~开头,不能有参数
- ~Person() {
- cout << "调用析构函数" << endl;
- delete p; // 释放动态分配的内存
- }
- };
- int main() {
- Person* xiaoming = new Person(25);
- cout << "xiaoming 的年龄是: " << xiaoming->age << endl;
- cout << "xiaoming 的动态分配的内存值是: " << *(xiaoming->p) << endl;
-
- // 释放对象
- delete xiaoming; // 析构函数将在这里被调用
- return 0;
- }
复制代码
如果有更多问题或需要进一步解释,请随时提出!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|