template<typename Type>
class CBaseType
{
public:
CBaseType()
: pType(NULL)
{
}
CBaseType(CBaseType * pBaseType)
{
pType = pBaseType->pType;
}
CBaseType * operator=(CBaseType * pBaseType)
{
pType = pBaseType->pType;
}
virtual ~CBaseType(void)
{
}
Type * operator->()
{
return pType;
}
Type ** operator&()
{
return &pType;
}
Type & operator*()
{
return *pType;
}
Type * operator=(Type * other)
{
pType = other;
return pType;
}
/* 下面两个是类替换原始类型,如windows平台上用CBaseType<HANDLE>类替换HANDLE使用 */
operator Type*()
{
return pType;
}
operator Type*() const
{
return pType;
}
protected: // 保证亲子类可以访问
Type * pType;
};
C++里用类重载数据类型模板
最新推荐文章于 2023-09-12 20:21:58 发布