私有析構函數

把析構函數定義爲私有成員可以保證只能在堆上new一個新的類對象.

下面寫一個簡單的例子驗證一下:

寫一個簡單的類,把它的析構函數變成私有的.


new一個新的類對象,編譯通過,如下圖.


把原來的代碼改動一下,直接在棧上創建對象.


如下圖所示,編譯不通過.


在棧上生成對象時,對象會自動析構,也就說析構函數必須可以訪問。所以如果析構函數私有,則會報錯.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章