類模板的概念和意義

2022-06-21 06:18:12 字數 1414 閱讀 2026

類模板的概念和意義

類模板一些類主要用於儲存和組織資料元素

類中資料組織的方式和資料元素的具體型別無關

如:陣列類,鍊錶類,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 #include 

using

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...