58 類模板的概念和意義

2021-08-19 21:00:16 字數 1074 閱讀 1688

一些類主要用於儲存和組織資料元素,類中資料組織的方式和資料元素的具體型別無關,如陣列類,鍊錶類,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...