成員模版,妙用無窮

2021-09-30 07:48:56 字數 388 閱讀 8237

從boost的share_ptr取的經.

建構函式不可以是虛函式,但是

建構函式可以是成員模板!!!!!

很好,我們可以多型建立物件了.(物件不加虛函式但是可以加有虛函式的資料成員,一般最好是函式物件或者函式指標,這樣我們可以在建立時就加鉤子,行為用虛函式封裝,是否太瘋狂?)

關鍵字:成員模版!!!!!

輸出的結果是:donnot hurt yourself!

總結:這一招我個人覺得用在命令模式,和橋模式上是很好的一招.比一般的函式指標方法強大在少了引數型別,返回型別的檢查.和簡單的虛函式比,耦合少了.

宣告:如果你對我說的理解不夠透徹或者對專案把握力不夠的話,別亂用這一招.記住:donnot hurt yourself!

為什麼需要模版成員方法

1 解決的問題 考慮下面的需求,有個集合模版vector,例項化乙個類vector,乙個類vector,建立物件 double vector和int vector,我想把int vector賦值給double vector,這個需求是合理的。思考一下,能成功嗎?2 我們知道,同乙個模版例項化出來的模...

模版類的成員函式定義問題

原因 模板是在使用的時候才就地生成 的。就是說如果沒有使用到該模板,模板的 根本不會被編譯。當你類似templatename這樣使用乙個模板的時候,編譯器才將int這個型別引入templatename這個模板的 從而生成所需要的class。你將模板實現分開,那麼編譯器在引入int型別到模板 的時候,...

兩個成員的類模版

檔名稱 text.cpp 完成日期 2015年6月15日 版本號 v1.0 問題描述 1 試將此類宣告改為類模板宣告,使得資料成員data1和data2可以是任何型別。2 請為該類增預設建構函式 帶兩個引數分別對應兩個資料成員初值的建構函式,以及複製建構函式。輸入描述 無 程式輸出 宣告為類模板後的...