当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

C++中接口与实现别离的技术[VC/C++编程]

赞助商链接



  本文“C++中接口与实现别离的技术[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

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

lxExp.cpp文件内容:

#include "lxExp.h"
ClxExp::ClxExp()
{}
ClxExp::~ClxExp()
{}
// 其实该办法在这里并没有必要,我这样只是为了阐明调用关系
void ClxExp::lxTest()
{
 m_lxTest.DoSomething();
}
void ClxExp::DoSomething()
{
 lxTest();
}

为了让用户能利用我们的类ClxExp,我们必须供应lxExp.h文件,这样类ClxExp的私有成员也表露给用户了.并且,仅仅供应lxExp.h文件是不够的,因为lxExp.h文件include了lxTest.h文件,在这种情形下,我们还要供应lxTest.h文件.那样ClxExp类的实现细节就全表露给用户了.别的,当我们对类ClxTest做了改正(如增添或删除一些成员变量或办法)时,我们还要给用户更新lxTest.h文件,而这个文件是跟接口无关的.假如类ClxExp里面有很多像m_lxTest那样的对象的话,我们就要给用户供应N个像lxTest.h那样的头文件,并且此中任何一个类有窜改,我们都要给用户更新头文件.还有一点就是用户在这种情形下必须举行重新编译!


  以上是“C++中接口与实现别离的技术[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 7中UAC中的蓝黄提醒框
  • 浅析数据源在JDBC中的操纵
  • Weblogic中因为IP变更招致SubCoordinator not available,Transa
  • 关于在weblogic中异步伐用webservice
  • Weblogic中的load banlance问题
  • 关于weblogic中操纵Dom4j、Xerces招致实施线程挂起的问题
  • JVM TI学习(1) 若何中止weblogic中stuck thread
  • Weblogic中几个internal的XA timeout(情况切换相关的超时)
  • 如安在基于注解气势的Spring-MVC中操纵阻碍器
  • 关于weblogic中jms message的情况
  • 关于Weblogic中XAER_NOTA XAException的两种注释
  • 关于weblogic中操纵prepared statement cache后操作DDL的问题
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .