#include <iostream.h>class CTest
{
public:
void Initiate();
int add();
private: int count;
};
int main()
{
CTest *pTest = new CTest;
delete pTest;//释放对象刚申请的内存空间
pTest->Initiate(); //还能调用,并且还能操作该类数据成员!!
int x;
x= pTest->add();
x= pTest->add();
cout<<"x= "<<x<<endl; return 0;
}void CTest::Initiate()
{
count = 0;
}int CTest::add()
{
count = count + 1;
return count;
}输出结果是:x =2 !!!有点郁闷,各位说说是什么原因??
{
public:
void Initiate();
int add();
private: int count;
};
int main()
{
CTest *pTest = new CTest;
delete pTest;//释放对象刚申请的内存空间
pTest->Initiate(); //还能调用,并且还能操作该类数据成员!!
int x;
x= pTest->add();
x= pTest->add();
cout<<"x= "<<x<<endl; return 0;
}void CTest::Initiate()
{
count = 0;
}int CTest::add()
{
count = count + 1;
return count;
}输出结果是:x =2 !!!有点郁闷,各位说说是什么原因??
解决方案 »
- 每天都有郁闷的问题--程序运行一段时间后崩溃
- 跪求UDP协议sendto函数10047错误解决办法!!!
- 请问用MFC编程不用VC行不行,有没有现成可以下载的MFC装上就能用?
- javascript中,如何得到IE刷新事件?
- socket编程的一个算是经典的问题
- const char * pszFilename和char * pszFilename的区别?
- 200分肯请高手,把一个图像处理的程序封装到一个dll中,源程序劳烦下载!
- 请问如何去掉ChooseFont中的颜色选项?
- 反垃圾邮件规则--求!
- VC怎样做透明窗体???
- 俠之大者請進fprintf為什麼輸出的是2行
- 关于Install Shield for microsoft vc++6.0问题
-----------
非常感谢你的回答,不过你看清楚了,我上面delete pTest 后继续调用成员函数,而每个成员函数都有对成员变量的操作!!并且运行时没有报错!
推荐的删除步骤是:delete以后,给指针赋值NULL
int x;
x= pTest->add();
x= pTest->add();
有2个
第一个x= pTest->add();// add方法里的count 为1
第二个x= pTest->add();// add方法里count是在count=1的基础上再+1 所以是2