您的位置:首页 > 编程语言 > C语言/C++

c++操作符new 与delete学习(2)

2016-05-08 17:01 399 查看
new 与delete重载

#include <iostream>

class taosheng
{
public:
static int jishuqi;//静态
int *p;
int length;
public:
taosheng()
{
std::cout << "taosheng被创建了" << std::endl;
}
~taosheng()
{
std::cout << "taosheng被了销毁" << std::endl;
}
static void * operator new(size_t size)
{
jishuqi += 1;
std::cout << "对象被创建了" << std::endl;
taosheng *ptemp = ::new taosheng;
return ptemp;
}
static void operator delete(void *p)
{
jishuqi -= 1;
std::cout << "对象被了销毁" << std::endl;
::delete p;
}
};

int taosheng::jishuqi = 0;

void main()
{
taosheng * p1 = new taosheng;
taosheng * p2 = new taosheng;
taosheng * p3 = new taosheng;

delete p1;
std::cout << taosheng::jishuqi << std::endl;
system("pause");
}


结果如下图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++