|
|
/************************************
摸板
************************************/
template <typename T>
class AUTOPRT
{
public:
AUTOPRT(){ prt=new T;}
AUTOPRT(T* src){ prt=new T; (*prt)=(*src); }
~AUTOPRT() { LPRelease(prt);::MessageBox(0,"释放指针完毕","g",0); }
T* operator->() {return prt;}
operator T*() {return prt;}
T** operator&() {return &prt;}
private:
T* prt;
};
template <typename T>
class AUTOCOM
{
public:
AUTOCOM(){}
AUTOCOM(T* src){(*prt)=(*src);}
~AUTOCOM() { ComRelease(prt);::MessageBox(0,"释放COM接口完毕","g",0); }
T* operator->() {return prt;}
operator T*() {return prt;}
T** operator&() {return &prt;}
private:
T* prt;
}; |
|