标题:【求助】【C++析构函数错误分析】
取消只看楼主
食来运转
Rank: 1
来 自:广东-深圳
等 级:新手上路
帖 子:6
专家分:3
注 册:2016-7-26
结帖率:100%
 问题点数:0 回复次数:0 
【求助】【C++析构函数错误分析】
程序代码:
问题:析构函数为何不被执行?


程序代码如下:

#include "iostream"
#include "string.h"
using namespace std;

class person
{
private:
    char num[20];
    char *name;
    int age;
public:
    person(char s1[],char *p,int a)
    {
        strcpy(num,s1);
        name=new char[strlen(p)+1];
        strcpy(name,p);
        age=a;
        cout<<"构造函数被执行!\n";
    }

    ~person();
    void show();
};

person::~person()
{
    if(name) delete []name;
    cout<<"析构函数被执行!\n";

}

void person::show()
{
    cout<<"身份证号:"<<num<<endl;
    cout<<"    姓名:"<<name<<endl;
    cout<<"    年龄:"<<age<<endl;
}

void main()
{
    person p("441424199612076994","张望",28);
    p.show();
    system("pause");

}




[local]1[/local]


谢谢~

搜索更多相关主题的帖子: person 
2016-09-15 15:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-468827-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.065227 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved