小甲魚 C 快速入門筆記 46 之類模板

2021-09-16 13:54:51 字數 925 閱讀 9235

函式模板需要注意的地方:

(1) 在建立模板時,還可以用template 來代替template ,它們的含義是一樣的.而且template 中的class並不意味著t只能是乙個類.此外,不要把函式模板分成原型和實現兩個部分.

(2)為了明確表明swap()是乙個函式模板,還可以使用swap(i1, i2)語法來呼叫這個函式.這將明確地告訴編譯器它應該使用哪一種型別.

類模板

類模板與函式模板非常相似:同樣是先由你編寫乙個類的模板,再由編譯器在你第一次使用這個模板時生成實際**.

template class myclass

構造器的實現如下:

myclass::myclass()

因為myclass是乙個類模板,所以不能只寫出myclass::myclass(),編譯器需要你在這裡給出一種與myclass()配合使用的資料型別,必須在尖括號裡提供它.因為沒有確定的資料型別可以提供,所以使用乙個t作為佔位符即可.

示例程式:

我們將編寫乙個基於模板的棧.

棧式實際程式設計過程中一種非常有用的資料結構,它是一種資料儲存機制.棧只提供兩個函式:乙個用來把資料壓入棧的頂部,另乙個用來從棧取出頂部元素(先進後出).

#include #include template class stack

;template stack::stack(unsigned int size)

template stack::~stack()

template void stack::push(t value)

template t stack::pop()

int main()

小甲魚 C 快速入門筆記 45 之類模板

www.fishc.com 函式模板需要注意的地方 1 在建立模板時,還可以用template 來代替template 它們的含義是一樣的.而且template 中的class並不意味著t只能是乙個類.此外,不要把函式模板分成原型和實現兩個部分.2 為了明確表明swap 是乙個函式模板,還可以使用s...

c 小甲魚C 快速入門 一

輸入一串整數和任意數目的空格,計算整數的和 includeint main printf 結果是 d sum return 0 cin.peek cin.get includeusing namespace std int main if cin.peek n break cout 用法一 cin....

小甲魚 C 快速入門筆記 28 之多繼承

www.fishc.com 什麼時候需要用到多繼承呢?只要你遇到的問題無法只用乙個 是乙個 關係來描述的時候,就是多繼承出場的時候。舉個例子 在學校裡有老師和學生,他們都是人 person 我們可以用 老師是人 和 學生是人 語法來描述這種情況。從物件導向程式設計角度上來看,我們應該建立乙個名為pe...