标题:请教C++类中什么样的数据需要手动DELETE
只看楼主
xiaomeng1027
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-10-22
 问题点数:0 回复次数:0 
请教C++类中什么样的数据需要手动DELETE

#include "Ctest.h"
#include "Tstr.h"
using namespace std;

void main()
{
Ctest testA=3;
testA=4;
testA=Ctest(8);
Ctest testB=testA;
Tstr bb("mydemo");
//char* str = "";
char* result = bb.getP();
cout<<"cur str is:"<<result<<endl;
}

#include <iostream.h>
#include <string.h>
class Tstr
{
private:
char *p;

public:

Tstr(const char* in);
char* mstr(const char* Input);
char* getP();
~Tstr();
};

#include "Tstr.h"

Tstr::Tstr(const char* in)
{
cout<<"begin"<<endl;
p = new char(strlen(in)+1);
strcpy(p,in);
}

char* Tstr::mstr(const char* input)
{
p = new char(strlen(input)+1);
strcpy(p,input);
return p;
}

char* Tstr::getP()
{
return p;
}

Tstr::~Tstr()
{
/*if(p!=NULL)
{
delete p;
}*/
cout<<"call funcation"<<endl;

}
当我在析构函数中DELETE P 或把上面析构函数中注释取消的时候,都会有一个运行时错误??
请给出详细解答,编写平台VC 6.0

搜索更多相关主题的帖子: DELETE 数据 什么样 
2007-10-22 14:50



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




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

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