//IUnknown.cpp(3-1)中,编译时,发现error C2259: 'CA' : cannot instantiate 
//abstract class due to following members:
//问题出在
//Creation fuction
//
IUnknown* CreateInstance(){
IUnknown* pI = static_cast< IX * >(new CA);  //C2259.
pI->AddRef();
return pI;
}IUnknown struct在UNKNWN.H中,是个纯虚函数。但是示例就是如此!
那么,如何解决哪?
谢谢各位高手!!!

解决方案 »

  1.   

    CA需要继承IUnknown接口,并实现三个纯虚函数.
      

  2.   

    定义并实现三个纯虚函数.
    class CA:public IX,
     public IY
    {
    //IUnknown implementation
    virtual HRESULT __stdcall QueryInterface(const IID& iid, void ** ppv);
    virtual ULONG __stdcall AddRef(){return 0;}
    virtual ULONG __stdcall Releae(){return 0;}
    ...
    }
    如何进一步???
      

  3.   

    谢谢nustchenhf() 高手!!!
    在仔细的查看了代码段后,三个纯虚函数中,有个函数拼写错误,以至编译器认为,三个纯虚函数没有全部重载!!!
    再次谢谢nustchenhf() 高手的指教!!!