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;
}
#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;
}
相关文章推荐
- 能用foreach遍历访问的对象需要实现____接口或声明____方法的类型
- 能用foreach遍历访问的对象需要实现 ________________接口或声明________________方法的类型。
- java 程序加载过程---3--类中申明同时申明类的静态对象 创建类的实例 访问类的静态变量 调用类的静态方法 使用反射方法 初始化类的子类对象 直接使用java.exe 调用某个类
- 实例化一个子类对象赋给父类对象引用或一个实现了接口的类的对象赋给接口的引用的好处
- OC中继承子类对象调用方法机制 子类对象访问父类中的实例变量
- IEnumber<Model.Category> 实现接口对象没有Add()方法解决问题
- oc 面向对象特性(接口,实现,方法发送,访问成员变量)
- OC中继承子类对象调用方法机制 子类对象访问父类中的实例变量
- Java实例 定义任务的一个发射小程序 实现Runnable接口并编写run()方法
- 创建Employee类,在类中定义三个属性:编号,姓名,年龄,然后在构造方法里初始化这三个属性,最后载实现接口中的定义的CompareTo方法,将对象按编号升序排列。根据已有的代码,补全程序。
- 2018/01/07JAVA 基础 / 接口与继承:重写【子类继承并覆盖父类的对象方法】、隐藏【子类继承并覆盖父类的类方法】与实现类实现接口方法の区别
- OC 继承子类对象调用方法机制 子类对象访问父类中的实例变量
- 能用foreach遍历访问的对象需要实现____接口或声明____方法的类型
- C++中父类成员变量和子类成员变量重复定义及访问方法的深入探究
- 在创建接口引用指向子类对象时,能否访问Object类中的方法?答案是可以的
- 有关继承,实现接口,子类,实例化对象之间总结
- android studio 查看 类 接口 定义的方法实现方法 快捷键
- Java解决在浏览器地址栏中输入url访问action的问题以及拦截方法过滤的简易实现
- C++如何实现只能动态分配类对象,不能定义类对象
- JNI/NDK开发指南(五)---C/C++访问Java实例方法和静态方法