您的位置:首页 > 编程语言 > C语言/C++

C++接口定义,实现,继承接口类的子类,实例对象访问方法问题

2015-05-27 13:50 966 查看
参考后该:http://www.cppblog.com/gcs8cn/archive/2008/11/10/66482.html

#include <IOSTREAM>

using namespace std;

#define interface class __declspec(novtable)

interface ICodec

{

public:

virtual bool Decode(char * lpDataSrc,unsigned int nSrcLen,char * lpDataDst,unsigned int *pnDstLen);

virtual bool Encode(char * lpDataSrc,unsigned int nSrcLen,char * lpDataDst,unsigned int *pnDstLen);

};

class CCodec : public ICodec

{

public:

virtual bool Decode(char * lpDataSrc,unsigned int nSrcLen,char * lpDataDst,unsigned int *pnDstLen)

{

cout << "解码1..." << endl;

return true;

}

virtual bool Encode(char * lpDataSrc,unsigned int nSrcLen,char * lpDataDst,unsigned int *pnDstLen)

{

cout << "编码1..." << endl;

return true;

}

};

class DCodec : public ICodec

{

public:

virtual bool Decode(char * lpDataSrc,unsigned int nSrcLen,char * lpDataDst,unsigned int *pnDstLen)

{

cout << "解码2..." << endl;

return true;

}

virtual bool Encode(char * lpDataSrc,unsigned int nSrcLen,char * lpDataDst,unsigned int *pnDstLen)

{

cout << "编码2..." << endl;

return true;

}

};

int main(int argc, char* argv[])

{

ICodec * pCodec = new DCodec();//具体是那个对象

pCodec->Decode(NULL,0,NULL,NULL);

pCodec->Encode(NULL,0,NULL,NULL);

delete (DCodec*)pCodec;

getchar();

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐