91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

函數模板 類模板

發布時間:2020-09-17 17:35:05 來源:網絡 閱讀:277 作者:匯天下豪杰 欄目:編程語言

1、函數模板

  模板就是為了代碼的復用,可以把數據類型設計為參數,由我們自定義類型進行傳送;

#include<iostream>
using namespace std;

template<typename Type>  //模板的聲明,老的版本是class替換typename;
Type Max(Type a, Type b){
    return a > b ? a : b;
}

int main(void){ 
    cout<<Max('a', 'b')<<endl;   //求最大值
    cout<<Max(2, 5.45)<<endl;   //這會出錯,因為類型不一樣,沒法轉換。不會將double-->int,
                                //不會隱式轉換的。 
    return 0;
}

  模板不支持隱式轉換,類型必須明確給出(強制類型轉換);       

  函數模板效率并不高,只是將函數模板-------->模板函數;

  上述出錯的解決方案:cout<<Max(2, (int)5.45)<<endl; 或cout<<Max((double)2, 5.45);

  或cout<<Max<int>(2, 5.45)<<endl; 指定int類型的比較;

template<typename Type1, typename Type2>  
Type1 Max(Type1 a, Type2 b){
    return a > b ? a : b;
}

這樣就可以對應傳過去的數據類型;每個參數的類型一一對應,在自己根據情況寫出返回值類型。

2、類模板

  C++中的類一般都是模板類;

函數模板 類模板

模板類要注意的是:

  (1)、在類上面寫上模板,友元函數類的聲明,最上面也要寫上模板;

  (2)、在類內聲明,在類外實現時要加上模板,并且還得在作用域限定符前面加上數據類型<Type>;

模板的0初始化:

        函數模板 類模板                     

以上這些可以說明語法是成立的;  Type t = Type();  這個就是模板的初始化,根據不同類型初始化為0;

     


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

来宾市| 福州市| 北票市| 东港市| 汪清县| 盘锦市| 东光县| 辽源市| 安岳县| 句容市| 新邵县| 高尔夫| 东方市| 仙居县| 乐至县| 沙湾县| 丹阳市| 恩平市| 池州市| 永州市| 宜良县| 墨玉县| 平山县| 新沂市| 安义县| 克山县| 横峰县| 瑞安市| 休宁县| 磴口县| 徐水县| 城步| 蓬溪县| 洛宁县| 盐城市| 且末县| 微山县| 张掖市| 荔浦县| 浙江省| 安龙县|