|
在用C++写要导出类的库时,我们经常只想暴露接口,而隐藏类的实现细节。也就是说我们提供的头文件里只提供要暴露的公共成员函数的声明,类的其他所有信息都不会在这个头文件里面显示出来。这个时候就要用到接口与实现分离的技术。 下面用一个最简单的例子来说明。 类ClxExp是我们要导出的类,其中有一个私有成员变量是ClxTest类的对象,各个文件内容如下: lxTest.h文件内容: class ClxTest { public: ClxTest(); virtual ~ClxTest(); void DoSomething(); }; lxTest.cpp文件内容: #include "lxTest.h"
#include <iostream> 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(); };
|