接口的实现继承
直接在 idl中 添加 一个 接口 :
interface IC : IDispatch{
};
通过 向导添加 简单对象:
interface IA :IC/*IDispatch*/{ //修改使得IA:IC
};
我想 写个模版 类,这个 类实现 IC接口,之后在CA中继承 :
模版类:
template <class _T, class _Interfac>
class ATL_NO_VTABLE CICImpl :public _Interfac
{
public:
};
之后 在 A的头文件中 :
class ATL_NO_VTABLE CA :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CA, &CLSID_A>,
public IDispatchImpl<IA, &IID_IA, &LIBID_atljicheng2Lib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
public CICImpl<CA,IC>
{
。。。。
BEGIN_COM_MAP(CA)
COM_INTERFACE_ENTRY(IA)
COM_INTERFACE_ENTRY(ISupportErrorInfo)
COM_INTERFACE_ENTRY(IConnectionPointContainer)
COM_INTERFACE_ENTRY2(IDispatch,IA)
END_COM_MAP()
}
这个 中提示错误啊?error C2259: 'ATL::CComObject<Base>' : cannot instantiate abstract class
为什么啊 ,应该 如何去改写。