问一个内存泄露的问题--通常人们称之为匿名对象
///例如我有一个类////////////////////////////////
////类头文件/////
////////////////////////////
#include "iostream.h"
class A
{
public :
A();
A(A* p);
A(int para1,int para2);
~A();
void show();
private :
int a;
int b;
};
////////////////////////
////头文件完
/////////////////////////
/////////////////////
///实现部分
////////////////////////
A::A():a(0),b(0)
{
}
A::A(A *p)
{
a=p->a;
b=p->b;
}
A::A(int para1,int para2):a(para1),b(para2)
{
}
void A::show()
{
cout<<a<<endl;
cout<<b<<endl;
}
///////////////////////////
////实现部分完
////////////////////////////
//////////////////////////////
/////函数入口部分
//////////////////////////
A* TestFuncA(int a,int b)
{
return new A(a,b);
//问题就在这里,申明了匿名对象后,怎么释放匿名对象的内存
//例如主函数的调用方式。怎么释放现在分配的内存?
}
int TestFuncB(A *a)
{
A* temp = a;
if(temp!=NULL)
{
temp->show();
return 1;
}
else
{
return -1;
}
}
void main()
{
TestFuncB(TestFuncA(10 , 20));
}