轉貼自http://www.cppblog.com/mzty/archive/2007/08/06/29441.html

方法一:使用另一个实现类分装类的私有成员和函数,这种方法称为Pimpl方法。

test.h
(轉貼) C++接口与实现分离的2种方法 (C/C++)#pragma once
(轉貼) C++接口与实现分离的2种方法 (C/C++)#include 
"shared_ptr.hpp"
(轉貼) C++接口与实现分离的2种方法 (C/C++)
class CTest
;

test.cpp

 

(轉貼) C++接口与实现分离的2种方法 (C/C++)#include "Test.h"
(轉貼) C++接口与实现分离的2种方法 (C/C++)#include 
<iostream>
(轉貼) C++接口与实现分离的2种方法 (C/C++)
(轉貼) C++接口与实现分离的2种方法 (C/C++)
class CTest::CTestImp
}


方法二:使用抽象类来实现接口与实现的分离。

x.h 

(轉貼) C++接口与实现分离的2种方法 (C/C++)#pragma once
(轉貼) C++接口与实现分离的2种方法 (C/C++)#include 
<stdio.h>
(轉貼) C++接口与实现分离的2种方法 (C/C++)#include 
"shared_ptr.hpp"
(轉貼) C++接口与实现分离的2种方法 (C/C++)
using namespace boost;
(轉貼) C++接口与实现分离的2种方法 (C/C++)
(轉貼) C++接口与实现分离的2种方法 (C/C++)
class X
 createX();


x.cpp 

(轉貼) C++接口与实现分离的2种方法 (C/C++)#include "X.h"
(轉貼) C++接口与实现分离的2种方法 (C/C++)#include 
<stdio.h>
(轉貼) C++接口与实现分离的2种方法 (C/C++)
(轉貼) C++接口与实现分离的2种方法 (C/C++)
class X_impl: public X
}


总结:
       接口与实现的分离,有助于我们对代码实现的保护,特别是如果我们开发lib共别人使用使,更要注意。在实现分离的过程中,最好采用上面的第一种方法的智能指针boost::shared_ptr的实现,简单安全。

相关文章:

  • 2022-02-10
  • 2021-12-01
  • 2022-01-14
  • 2021-05-23
  • 2021-06-17
  • 2021-12-22
  • 2021-12-13
  • 2021-11-07
猜你喜欢
  • 2021-12-10
  • 2021-05-26
  • 2022-01-05
  • 2022-02-08
  • 2021-06-02
  • 2021-08-22
  • 2022-12-23
相关资源
相似解决方案