您的位置:首页 > 其它

答案是什么

2016-01-18 16:35 148 查看
#include <new>

class CDirObj
{
public:
void* operator new(size_t sz)
{
printf("operator new\n");
return ::operator new(sz);
}

void operator delete(void* p)
{
printf("operator delete\n");
::operator delete(p);
}

CDirObj::CDirObj()
{
printf("构造 %d\n", this);
m_pStr = new char[1024];
}

CDirObj::CDirObj(const char* pStr)
{
printf("其他构造 %d\n", this);
CDirObj();
}

CDirObj::~CDirObj()
{
printf("析构 %d\n", this);
delete m_pStr;
}

const char* m_pStr;
};

#include <iostream>
class CTest
{
public:
CTest()
{
m_a = 1;
printf("构造CTest %d\n", this);

}
CTest(int b)
{
m_b = b;
CTest();
printf("其他构造CTest %d\n", this);
}
~CTest()
{
printf("析构CTest %d\n", this);
}
void show()
{
std::cout << m_a << std::endl;
std::cout << m_b << std::endl;
}

int m_a;
int m_b;
};

int _tmain(int argc, _TCHAR* argv[])
{
CTest myTest(2);
myTest.show();

CDirObj* pObje = new CDirObj("HELLO");
delete pObje;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: