文档介绍://:定1§义°控制台书应®I用®程“r序“。的1入.•口“2点1。je//#include"#include<iostream>#include<>〃用®GUID,仓判D断指针是Q否口被A释以放。
constGUIDIID_CommMs
//:定1§义°控制台书应®I用®程“r序“。的1入.•口“2点1。je//#include"#include<iostream>#include<>〃用®GUID,仓判D断指针是Q否口被A释以放。
constGUIDIID_CommMsgLink=(0xdeb9c823z0x6350,0x45a9,(0x88,0xb9,0x83,0xa6,0xd4,Oxfl,0x8c,0xf4});constGUIDIID_B=(0xdeb9c723,0x4350,0x45a9,(0x88,0xb9,0x83,0xa6,0xd4,Oxfl,0x8c,0xf4});usingnamespacestd;classShape(public:
GUIDHDCOMMMSGLINK;
Shape()
{IID_COMMMSGLINK=IIDJZommMsgLink;
}
~Shape()
{IIDCOMMMSGLINK=GUIDNULL;
}
virtualdoubleCalLength()
(return2*(nWidth+nLength);
}private:
virtualdoubleCalArea()
(returnnWidth*nLength;
}
intnWidth;
intnLength;};classSquare:publicShapepublic:
Square(intwidth,intlength)nWidth=width;nLength=length;
);private:
virtualdoubleCalArea()
(returnnWidth*nLength;
}
intnWidth;
intnLength;);classB(public:
GUIDGUIDB;
B()
(GUIDB=HDB;
}
~B()
(GUID_B=GUID_NULL;//赋值为空
});〃判断指针是否被释放staticBOOLlsPtrErr(constGUID&cid,DWORD_PTR*ptr)(
_try
(if(cid==*(GUID*)(ptr))(returnFALSE;)else(returnTRUE;}
}
_except(EXCEPTION_EXECUTE_HANDLE