以下是接口IWzd的实现类,本人认为有了ATL_NO_VTABLE就等于该实现类没有了VTABLE表,ATL中,COM对象最终通过
CComObject<CWzd>* pObj = new CComObjct<CWzd>;创建的,我问题是一、CWzd类实现了IWzd接口,但是,CWzd没有虚函数表,pObj能访问CWzd成员函数Method1吗?搞不懂!二、CWzd类是派生类(由三个模板类派生,见以下例子),怎么会用派生类来实例化父类CComObject?思维比较混乱,请高手帮忙!
class ATL_NO_VTABLE CWzd : 
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CWzd, &CLSID_Wzd>,
public IDispatchImpl<IWzd, &IID_IWzd, &LIBID_SERVERLib>
{
public:
...
// IWzd接口
public:
STDMETHOD(Method1)(/*[in]*/long lArg);
}