C 怎麼可以讓乙個類不能被繼承

2021-09-27 08:03:52 字數 372 閱讀 3910

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的物件的時候...