C++使用接口基本实现方式解析
C++编程语言的应用对于开发人员来说是一个非常有用的应用语言。不过其中还有许多比较高深的内容值得我们去花大量的时间去学习。在这里就先为大家介绍一下有关C++使用接口的实现方法。
面向对象的语言诸如JAVA提供了Interface来实现接口,但C++却没有这样一个东西,尽管C++ 通过纯虚基类实现接口,譬如COM的C++实现就是通过纯虚基类实现的(当然MFC的COM实现用了嵌套类),但我们更愿意看到一个诸如 Interface的东西。下面就介绍一种解决办法。
首先我们需要一些宏:
//
// Interfaces.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 有了这些宏,我们就可以这样定义我们的接口了:
// // IBar.h // DeclareInterface(IBar) virtual int GetBarData() const = 0; virtual void SetBarData(int nData) = 0; EndInterface
是不是很像MFC消息映射那些宏啊,熟悉MFC的朋友一定不陌生。现在我们可以像下面这样来实现C++使用接口这一功能: