一些類主要用於儲存和組織資料元素,類中資料組織的方式和資料元素的具體型別無關,如陣列類,鍊錶類,stack類,queue類等。
c++中將模板的思想應用於類,使得類的實現不關注資料元素的具體型別,而只關注類所需要實現的功能。
c++中的類模板:以相同的方式處理不同的型別,在類宣告前使用template進行標識,用於說明類中使用的泛指型別t。
只能顯示指定具體型別,無法自動推導,使用具體型別定義物件,operatorop;
宣告的泛指型別t可以出現在類模板的任意地方,編譯器對類模板的處理方式和函式模板相同:
從類模板通過具體型別產生不同的類,1次編譯:在宣告的地方對類模板**本身進行編譯,2次使用:在使用的地方對引數替換後的**進行編譯。
#include
#include
using namespace std;
template < typename t >
class operator
t minus(t a, t b)
t multiply(t a, t b)
t divide(t a, t b)
};string operator-(string& l, string& r)
int main()
2、類模板的工程應用(習慣做法):1、類模板必須在標頭檔案中定義(幾乎不會再cpp實現檔案中定義)2,類模板實現在標頭檔案中,不要分開實現在不同的檔案中3,成員函式的實現放在類的外部來進行,類模板也是把成員函式放在類外部實現,外部定義的成員函式需要加上 模板<> 宣告。
#ifndef _operator_h_
#define _operator_h_
template < typename t >
class operator
#endif
#include
#include
#include "operator.h"
using namespace std;
int main()
泛型程式設計的思想可以應用與類,類模板以相同的方式處理不同型別的資料,類模板非常適用於編寫資料結構相關的**,類模板在使用時只能顯示指定型別。
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...
第58課 類模板的概念和意義
1.1 一些類主要用於 儲存和組織 資料元素 1.2 類中資料組織的方式和資料元素的 具體型別無關 如陣列類 鍊錶類 stack類 queue類等。1.3 c 中將模板的思想應用於類,使得 類的實現 不關注資料元素的具體型別 而只關注類所需要 實現的功能。2.1 以相同的方式 處理不同的型別 2.2...