扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
class ClxTest { public: ClxTest(); virtual ~ClxTest(); void DoSomething(); }; |
#include "lxTest.h" #include <iostream> using namespace std; ClxTest::ClxTest() {} ClxTest::~ClxTest() {} void ClxTest::DoSomething() { cout << "Do something in class ClxTest!" << endl; } //////////////////////////////////////////////////////////////////////////// |
#include "lxTest.h" class ClxExp { public: ClxExp(); virtual ~ClxExp(); void DoSomething(); private: ClxTest m_lxTest; void lxTest(); }; |
#include "lxExp.h" ClxExp::ClxExp() {} ClxExp::~ClxExp() {} // 其实该方法在这里并没有必要,我这样只是为了说明调用关系 void ClxExp::lxTest() { m_lxTest.DoSomething(); } void ClxExp::DoSomething() { lxTest(); } |
#include "lxTest.h" class ClxImplement { public: ClxImplement(); virtual ~ClxImplement(); void DoSomething(); private: ClxTest m_lxTest; void lxTest(); }; |
#include "lxImplement.h" ClxImplement::ClxImplement() {} ClxImplement::~ClxImplement() {} void ClxImplement::lxTest() { m_lxTest.DoSomething(); } void ClxImplement::DoSomething() { lxTest(); } |
// 前置声明 class ClxImplement; class ClxExp { public: ClxExp(); virtual ~ClxExp(); void DoSomething(); private: // 声明一个类ClxImplement的指针,不需要知道类ClxImplement的定义 ClxImplement *m_pImpl; }; |
// 在这里包含类ClxImplement的定义头文件 #include "lxImplement.h" ClxExp::ClxExp() { m_pImpl = new ClxImplement; } ClxExp::~ClxExp() { delete m_pImpl; } void ClxExp::DoSomething() { m_pImpl->DoSomething(); } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者