日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

类模板和函数模板

發(fā)布時間:2025/5/22 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 类模板和函数模板 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標準>>>

????????????????? 模板一般分為模板函數(shù)和類模板。

????????????????? 模板函數(shù)的一般形式為:

????????????????? template<類型形參表> 返回值類型 函數(shù)名(參數(shù)列表){函數(shù)體}

????????????????? 類模板的一般形式為:

????????????????? template<類型形參表> class 類名 {類聲明體}

????????????????? 類中成員函數(shù)的類外實現(xiàn)的形式

????????????????? template<類型形參表> 返回值類型 類名<類型名表>::成員函數(shù)名(參數(shù)列表) {函數(shù)體}

????????????????? 下面以數(shù)組模板類為例

??????????????????

#include <iostream>using namespace std;template <typename T> class Array { public:Array(int size = 10);~Array();T operator[](int index);T& get(int index) const;int length() const {return m_len;} private:Array(const Array&);Array& operator ==(const Array&);T *p_array;int m_len; };template<typename T> Array<T>::Array(int size):p_array(new T[size]),m_len(size) { } template<typename T> Array<T>::~Array() {delete p_array; } template<typename T> T Array<T>::operator[](int index) {return p_array[index]; } template<typename T> T& Array<T>::get(int index) const {if (index > m_len -1 ) {throw "ERROR:index is out!";} else {return p_array[index];} }int main() {Array<int> intArr;cout << "length of int array is " << intArr.length() << '\n';try{intArr.get(11);}catch(const char *ex) {cout << ex << '\n';}intArr.get(0) = 2;cout << "elems of int array is ";for (int i = 0; i < intArr.length();++i) {cout << intArr[i] << '\t';}cout << '\n';Array<char> charArr(5);cout << "length of cahr array is " << charArr.length() << '\n';try{charArr.get(11);}catch(const char *ex) {cout << ex << '\n';}charArr.get(4) = 'Z';cout << "elems of char array is ";for (int i = 0; i < charArr.length();++i) {cout << charArr[i] << '\t';}return 0; }

???????? 結(jié)果:

???????


? ? ?? 使用模板一般都是邏輯相同,類型不同。

? ? ? 模板函數(shù)在實例化時以函數(shù)重載來體現(xiàn)都是在編譯期完成。 ????

轉(zhuǎn)載于:https://my.oschina.net/u/854744/blog/418476

總結(jié)

以上是生活随笔為你收集整理的类模板和函数模板的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。