在c++11中,把建構函式設成private, 提供靜態的makeshared方法,可以實現在類的建構函式執行完成後,執行特定的操作。
如下所示的**,在sharedtest的建構函式完成後,執行print函式
#include
#include
#include
class
sharedtest
public:~
sharedtest()
private
:void
print()
private
:int x_;
public
:template
<
typename..
. ts>
static std::shared_ptr
makeshared
(ts &&..
. params)};
intmain()
建構函式 訪問許可權private
一 建構函式 具有建構函式的類會在每次建立新物件時先呼叫此方法,所以非常適合在使用物件之前做一些初始化工作。如果子類中定義了建構函式則不會隱式呼叫其父類的建構函式。要執行父類的建構函式,需要在子類的建構函式中呼叫parent construct 如果子類沒有定義建構函式則會如同乙個普通的類方法一樣從...
建立private建構函式的物件
getconstructor 和getdeclaredconstructor 區別 getdeclaredconstructor class.parametertypes 返回指定引數的構造器,包括public的和非public的,當然也包括private的。getdeclaredconstruct...
從private建構函式談單例模式
今天實現乙個單例的時候,想到多執行緒getinstance 時可能會有問題,就查了一下單例的幾種實現方式。有一種被稱為 餓漢式 的實現 1 class manager25 static manager m pinstance 67 public 8 manager getinstance 912 1...