C++接口使用简析
来源:互联网 发布:淘宝网官方客服电话 编辑:程序博客网 时间:2024/06/06 00:35
在C++中没有像java那样真正意义的接口,它使用纯虚函数来实现的,下面就来讲下C++中这样的接口的两种用法
1.被子类继承,由子类实现接口中的函数
1.被子类继承,由子类实现接口中的函数
这种方式常用于很多类B, C, D, E等等都需要创建interfaceMethod函数,这时写个接口A让子类来继承,这样就会强制子类实现此函数,起到了提醒的效果
class A{public:virtual void interfaceMethod() = 0;};class B : public A{public:virtual void interfaceMethod();};
2.作为一种回调方式
在这种情况下当B的update函数被调用时,C中的interfaceMethod函数就会被回调。这样的方式是很常用的,当B类发生状态变化时需要通知给C,而这个时候最好的做法就是写这样一个回调函数。
/*头文件*/class A{public:virtual void interfaceMethod() = 0;};/*头文件*/class B{A* a;public:void setDelegate(A* _a);void update();};/*B类的cpp文件*/#include "B"void B::setDelegate(A* _a){a = _a;}void B::update(){a->interfaceMethod();}/*头文件*/class C : public A{public:virtual void interfaceMethod();}/*C类的cpp文件*/#include "C"C::C(){B* b;b->setDelegate(this);}void C::interfaceMethod(){print("C::interfaceMethod");}
0 0
- sqlite使用,c语言接口
- C++接口使用简析
- 使用C接口编写得到时间信息
- curl c/c++ api接口使用例程
- mysql的C语言接口的使用
- mysql的C语言接口的使用
- redis C接口hiredis初次使用
- redis C接口hiredis初次使用
- curl c/c++ api接口使用例程
- c/c++接口嵌入式sqlite使用小结
- linux C语言使用syslog接口
- 在 Erlang 中使用 C 接口
- Linux使用Python调用C/C++接口
- 总结MySQL 的C语言接口使用
- redis C接口hiredis初次使用
- libcurl的C语言接口使用过程
- redis使用(四):C 同步接口
- redis使用(五):c异步接口
- 数组函数20140905study
- 友善之臂—arm-6410 u-boot linux内核,文件系统移植
- [数位dp] hdu 4734 F(x)
- jQuery经典面试题及答案精选(复制于码农网)
- 两个点已知一个点的方向,判断另一个点在这个的方位(左前/右后)
- C++接口使用简析
- 模拟实现可变分区存储管理(其他几个算法)
- 在Xcode中使用Git进行源码版本控制
- Project facet Java version 1.7 is not supported.
- 黑马程序员————LinkedList和c语言中的链表
- activiti 流程引擎的API和服务
- shell编程——if语句
- dirs\pushd\popd命令用法
- C++ ATL控件调用html与JavaScript控件交互