C 高階程式設計(五)模板

2021-08-11 06:52:49 字數 791 閱讀 1040

模板:屬於泛型程式設計,泛型程式設計指的是**「重用」,固定的**但是其內部函式、物件型別或類可以不同。

1、函式模板

函式模板的宣告形式為:

template

《返回型別》《函式名》(參數列)

#includeusing namespace std;

templatevoid add(t a, y b)

int main()

typename改為class也是可以的。

類模板:

用vector寫棧

//棧:先進後出,後進先出

#include #include #include using namespace std;

templateclass stack

};// 追加傳入元素的副本

templatevoid stack::push(t const&elem)

// 刪除最後乙個元素

templatevoid stack::pop()

else

elems.pop_back();

}// 返回最後乙個元素的副本

templatet stack::top()const

int main()

catch (exception const&e)

system("pause");

return 0;

}

參考:

模板函式與函式模板

參考:模板類與類模板

C 模板高階

模板引數分為類型別形參和非型別形參。類型別形參 出現在模板引數列表中,跟在class或者typename之後類的引數型別名稱。非型別形參 用乙個常量作為類 函式 模板的乙個引數,在類 函式 模板中可將該引數當成常量來使用。注意 通常情況下,使用模板可以實現一些與型別無關的 但一些特殊型別的可能會得到...

C 模板高階

模板引數分為類型別形參和非型別形參。類型別形參 出現在模板引數列表中,跟在class或者typename之類的引數型別名稱。非型別形參 就是用乙個常量作為類 函式 模板的乙個引數,在類 函式 模板中可將該引數當成常量來使用。示例 定義乙個模板型別的靜態陣列。template class t,size...

C 模板高階

模板引數分類型別形參與非型別形參。型別形參即 出現在模板引數列表中,跟在class或者typename之類的引數型別名稱。非型別形參,就是用乙個常量作為類 函式 模板的乙個引數,在類 函式 模板中可將該引數當成常量來使用.定義乙個模板型別的靜態陣列 template10 class array co...