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++使用接口这一功能:
- //
- // Foo.h
- //
- #include "BasicFoo.h"
- #include "IBar.h"
- class Foo : public BasicFoo, implements IBar
- {
- // Construction & Destruction
- public:
- Foo(int x) : BasicFoo(x)
- {
- }
- ~Foo();
- // IBar implementation
- public:
- virtual int GetBarData() const
- {
- // add your code here
- }
- virtual void SetBarData(int nData)
- {
- // add your code here
- }
- };
怎么样,很简单吧,并不需要做很多的努力我们就可以实现C++使用接口这一操作了。
【编辑推荐】