自定义的一个类如下:
class CSENDXML : public CCEXML  
{
public:
CString XmlFilePath;
////////////////////////////////
CSENDXML(CDlgPointMEGSender *pPOI);
virtual ~CSENDXML();
    ////////////////////////////////
    CDlgPointMEGSender *pDlgPointMEGSender;
};CSENDXML::CSENDXML(CDlgPointMEGSender *pPOI)
{
    pDlgPointMEGSender = pPOI;
}CSENDXML::~CSENDXML()
{}其中CCEXML和CDlgPointMEGSender是已定义好的类,现在我想取得一个CSENDXML类的实例,定义如下:
CSENDXML *xmlload = new CSENDXML(this);这样定义有问题吗?编译提示是: error C2259: 'CSENDXML' : cannot instantiate abstract class due to following members:请大师指点一下。

解决方案 »

  1.   

    可能 CCEXML   里有个纯虚函数,你需要在继承时实现它
      

  2.   

    楼上正解,我在CSENDXML中加上了void Display( IXMLDOMElement *pChild );这个在CCEXML中定义的纯虚函数,不写实现可以吗?它在CSENDXML中没用阿。
      

  3.   

    必须在CSENDXML中加上了void Display( IXMLDOMElement *pChild ),只是在该函数中不加入任何代码即可。若不加该函数,则不能创建CSENDXML类的实例。