手机图片 苏州便民网 诺基亚手机
首页 | 英语四六级 | 日语学习 | 网络学院 | 考研 | 公务员考试 | 计算机 | 笑话 | 减肥 设大学生网为首页 加入收藏
C语言 VB VFP VC++ ACCESS JAVA
 
 
 
 
 

您的位置:首页 >> 计算机 >> 二级考试 >> VC++ >> 浏览信息

正文内容

C++中接口与实现分离的技术

时间:2006-07-20 来源:大学生计算机等级考试 打印本文

在用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(); 

  };  

  lxExp.cpp文件内容:   

  #include "lxExp.h"   

  ClxExp::ClxExp() 

  { 

  }   

  ClxExp::~ClxExp() 

  { 

  }   

  // 其实该方法在这里并没有必要,我这样只是为了说明调用关系 

  void ClxExp::lxTest() 

  { 

   m_lxTest.DoSomething(); 

  }   

  void ClxExp::DoSomething() 

  { 

   lxTest(); 

  }   

上一篇:C++程序中导出Word文档简易方法
下一篇:谈C++继承中的重载、覆盖和隐藏

相关阅读:

无相关信息

网站简介 | 广告服务 | 联系方式 | 意见建议 | 网站地图 | 版权声明 | 友情连接

大学生网 Stuun.com 版权所有