C++之CNoTrackObject类和new delete操作符的重载实例
本文实例讲述了C++中CNoTrackObject类和newdelete操作符的重载,分享给大家供大家参考。具体如下:
头信息:
classCNoTrackObject{
public://在此出过错,没有加public默认为类的私有变量,MyThreadData继承这个类后也无法访问成员变量
void*operatornew(size_tnSize);
voidoperatordelete(void*);
virtual~CNoTrackObject(){}
};
实现方法如下:
void*CNoTrackObject::operatornew(size_tnSize)
{
//申请一块内存
void*p=::GlobalAlloc(GPTR,nSize);
returnp;
}
voidCNoTrackObject::operatordelete(void*p)
{
if(p!=NULL)
{
::GlobalFree(p);
}
}
使用过程如下:
structMyThreadData:publicCNoTrackObject
{
MyThreadData*pNext;
intnShortData;
};
for(inti=0;i<10;i++) { <spanstyle="color:#ff0000;">pData=newMyThreadData;</span> pData->nShortData=i; list.AddHead(pData); } //遍历链表,释放MyThreadData对象占用的空间 pData=(MyThreadData*)list.GetHead(); while(pData!=NULL) { MyThreadData*pNextData=pData->pNext; printf("Thevalueis%d\n",pData->nShortData); <spanstyle="color:#ff0000;">deletepData;</span> pData=pNextData; }
热门推荐
10 感谢韩语老师祝福语简短
11 升职文案高级祝福语简短
12 花童结婚祝福语大全简短
13 向国庆送祝福语简短
14 什么寄语简短祝福语女生
15 客户回礼祝福语大全简短
16 女孩生日祝福语简短创意
17 家长回复节日祝福语简短
18 给外婆敬酒祝福语简短