類模板的概念和意義
類模板一些類主要用於儲存和組織資料元素
類中資料組織的方式和資料元素的具體型別無關
如:陣列類,鍊錶類,stack類,queue類等
c++中將模板的思想應用於類,使得類的實現不關注資料元素的具體型別,而只關注類所需要實現的功能
c++中的類模板
-以相同的方式處理不同的型別
-在類宣告前使用template進行標識
-用於說明類中使用的泛指型別t
template
class operator
;類模板的應用
-只能顯示指定具體型別,無法自動推導
-使用具體型別定義物件
operatorop1;
operatorop2;
int i = op1.op(1,2);
string s = op2.op("d.t.", "software");
宣告的泛指型別t可以出現在類模板的任意地方
編譯器對類模板的處理方式和函式模板相同
-從類模板通過具體型別產生不同的類
-在宣告的地方對類模板**本身進行編譯
-在使用的地方對引數替換後的**進行編譯
#include #includeusing
namespace
std;
template
class
operator
t minus(t a, t b)
t multiply(t a, t b)
t divide(t a, t b)
};int
main()
類模板的工程應用:注意這三部分不是c++規範的一部分,也不是c++編譯器要求必須這樣做。只不過工程上的一種好的習慣
-類模板必須在標頭檔案中定義
-類模板不能分開實現在不同的檔案中
-類模板外部定義的成員函式需要加上模板<>宣告
#ifndef operator_h#define operator_htemplate
class
operator
;template
t operator
:: add(t a, t b)
t operator
:: minus(t a, t b)
t operator
:: multiply(t a, t b)
t operator
:: divide(t a, t b)
#endif
//operator_h
小結:泛型程式設計的思想可以應用於類
類模板以相同的方式處理不同型別的資料
類模板非常適用於編寫資料結構相關的**
類模板在使用時只能顯示指定型別
58 類模板的概念和意義
一些類主要用於儲存和組織資料元素,類中資料組織的方式和資料元素的具體型別無關,如陣列類,鍊錶類,stack類,queue類等。c 中將模板的思想應用於類,使得類的實現不關注資料元素的具體型別,而只關注類所需要實現的功能。c 中的類模板 以相同的方式處理不同的型別,在類宣告前使用template進行標...
58 類模板的概念和意義
1 思考 在c 中是否能夠將泛型的思想運用於類?yes 2 類模板 c 中將模板的思想應用於類,使得類的實現不關注資料元素的具體型別,而只關注類所需要實現的功能。template typename t class operator operator op1 operator op2 int i op...
58課 類模板的概念和意義
本文學習自 狄泰軟體學院 唐佐林老師的 c 課程 問題 在c 中能否將泛型思想應用於類?c 中將模板的思想應用於類,使得類的實現不關注資料元素的具體型別,而只關注所需要實現的功能。c 中的類模板 以相同的方式處理不同的型別 在類宣告前使用template進行標識 用於說明類中使用的泛指型別t tem...