Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104613926
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: C/C++

2008-04-15 21:27:28

     来源:赛迪论坛    作者:sixth

在用C++写要导出类的库时,我们经常只想暴露接口,而隐藏类的实现细节。也就是说我们提供的头文件里只提供要暴露的公共成员函数的声明,类的其他所有信息都不会在这个头文件里面显示出来。这个时候就要用到接口与实现分离的技术。

  下面用一个最简单的例子来说明。

  类ClxExp是我们要导出的类,其中有一个私有成员变量是ClxTest类的对象,各个文件内容如下:

  lxTest.h文件内容:

class ClxTest
{
 public:
  ClxTest();
  virtual ~ClxTest();
  void DoSomething();
};

  lxTest.cpp文件内容:

#include "lxTest.h"

#include
using namespace std;

ClxTest::ClxTest()
{}

ClxTest::~ClxTest()
{}

void ClxTest::DoSomething()
{
 cout << "Do something in class ClxTest!" << endl;
}

////////////////////////////////////////////////////////////////////////////

  lxExp.h文件内容:

#include "lxTest.h"

class ClxExp
{
 public:
  ClxExp();
  virtual ~ClxExp();
  void DoSomething();
 private:
  ClxTest m_lxTest;
  void lxTest();
};

阅读(242) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~