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 婆婆高寿祝福语大全简短