class cnoinherit
// 只要是基類,最好是虛析構函式
virtual ~cnoinherit() {}
};// 注意必須是 virtual private
// ------就是想讓這個ctest類不能被繼承------
class ctest :virtual private cnoinherit
;class cmytest :public ctest
};
c++11提供了final關鍵字,可以用於修飾類,讀者朋友可以自行搜尋final的用法
最好使用final關鍵字實現目的,虛繼承實現的方式是以效能為代價的
C 實現乙個不能被繼承的類
要設計乙個不能被繼承的類,考慮c 11的新特性的話,有三種方法 1 就是將該類的建構函式和析構函式設為private 或者僅僅將析構函式設為private 這樣派生類無法呼叫基類的建構函式和析構函式,從而不能繼承。要建立物件,可以在該類中設乙個static成員函式,提供返回乙個該類物件指標,這種方法...
C 實現乙個不能被繼承的類
題目 用c 設計乙個不能被繼承的類 1 不能被繼承?按照繼承的理論,只要把類的建構函式設為私有,即可解決問題。此時子類就沒有辦法訪問基類的建構函式,從而就阻止了進行子類構造物件的任務實現,也就達到了不可繼承的目的。問題 如何產生這個類的例項物件和釋放物件呢?2 顯然定義靜態方法,在方法內部實現乙個物...
C 定義乙個不能被繼承的類
如何定義乙個不能被繼承的類?假設有乙個類b,如果把b的建構函式宣告為私有的,那麼b這個類就不能被繼承,但是這也引入了乙個問題,不能在類外定義b型別的物件,那要怎麼解決這個問題呢?方法1 我們可以在類內建立乙個物件並提供乙個靜態的介面,返回建立的這個物件。但是如果使用這種方法的話,在定義b的物件的時候...