C++接口实现总结

网上的例子,稍微有点错误。我给更改一下,附件上有源码!如有错误,请指正。

总结一下C++实现接口的技巧。


      面向对象的语言诸如JAVA提供了Interface来实现接口,但C++却没有这样一个东西,尽管C++ 通过纯虚基类实现接口,譬如COM的C++实现就是通过纯虚基类实现的(当然MFC的COM实现用了嵌套类),但我们更愿意看到一个诸如 Interface的东西。下面就介绍一种解决办法。

程序6步

 

    1、首先我们需要一些宏:

 

//********************************************
// Interface.h
//主要是宏定义一些关键词,可以形成接口类
//********************************************
#ifndef INTERFACE_H
#define INTERFACE_H

#define Interface class

#define DeclareInterface(name) Interface name { \
public: \
	virtual ~name() {}

#define DeclareBasedInterface(name, base) class name : \
public base { \
public: \
		virtual ~name() {}

#define EndInterface };

#define implements public
#endif
 

    2、有了这些宏,我们就可以这样定义我们的接口类:

 

//***********************************************
// IBar.h
//通过宏定义生成我们的接口类,写一些纯虚函数
//***********************************************
#ifndef IBAR_H
#define IBAR_H
#include "Interface.h"

DeclareInterface(IBar)

virtual int GetBarData() const = 0;
virtual void SetBarData(int nData) = 0;
EndInterface

#endif
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值