正在阅读:C++中接口与实现分离的技术C++中接口与实现分离的技术

2006-08-09 09:54 出处: 作者:StarLee 责任编辑:xietaoming

  上文还没有考虑到类与类之间的继承关系。下面我们就来具体的谈谈这个方面。

  还是以上面提到的那篇文章中的例子来说明。

  执行类:

  lxImplement.h文件内容:

#include "lxTest.h"

class ClxImplement 
{
public:
    ClxImplement();
    ~ClxImplement();

    void DoSomething();

private:
    ClxTest m_lxTest;

    void lxTest();
};

  lxImplement.cpp文件内容:

#include "lxImplement.h"

ClxImplement::ClxImplement()
{
}

ClxImplement::~ClxImplement()
{
}

void ClxImplement::lxTest()
{
    m_lxTest.DoSomething();
}

void ClxImplement::DoSomething()
{
    lxTest();
}

  接口类:

  lxExp.h文件内容:

//  前置声明
class ClxImplement;

class ClxExp 
{
public:
    ClxExp();
    virtual ~ClxExp();

 void DoSomething();

private:
    //  声明一个类ClxImplement的指针,不需要知道类ClxImplement的定义
    ClxImplement *m_pImpl;
};

  lxExp.cpp文件内容:

//  在这里包含类ClxImplement的定义头文件
#include "lxImplement.h"

ClxExp::ClxExp()
{
    m_pImpl = new ClxImplement;
}

ClxExp::~ClxExp()
{
    if (m_pImpl)
        delete m_pImpl;
}

void ClxExp::DoSomething()
{
    m_pImpl->DoSomething();
}

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品