C++提高程式設計 1 模板
阿新 • • 發佈:2022-02-10
1.1 函式模板
C++另一種程式設計思想稱為 泛型程式設計 ,主要利用的技術就是模板
C++提供兩種模板機制1:函式模板和類模板
1.1.1 函式模板語法
函式模板作用:建立一個通用函式,其函式返回值型別和形參型別可以不具體制定,用一個虛擬的型別來代表。
語法:template <typename T>
函式宣告或定義
解釋:template --- 宣告建立模板
typename --- 表明其後面的符號是一種資料型別,可以用class代替
T --- 通用的資料型別,名稱可以替換,通常為大寫字母
#include<iostream> #include<string> using namespace std; //函式模板 //交換兩個整型函式 void swapInt(int &a, int &b) { int temp = a; a = b; b = temp; } //交換兩個浮點型函式 void swapDouble(double& a, double& b) { double temp = a; a = b; b = temp; } template<typename T> //宣告一個模板,告訴編譯器後面程式碼中緊跟著的T不要報錯,T是一個通用資料型別void mySwap(T& a, T& b) { T temp = a; a = b; b = temp; } void test1() { //int a = 10; //int b = 20; //swapInt(a, b); //cout << "a=" << a << endl; //cout << "b=" << b << endl; //double c = 1.1; //double d = 2.2; //swapDouble(c, d);//cout << "c=" << c << endl; //cout << "d=" << d << endl; //利用函式模板交換 //兩種方式使用函式模板 int a = 10; int b = 20; //1、自動型別推導 //mySwap(a, b); //2、顯示指定型別 mySwap<int>(a, b); cout << "a=" << a << endl; cout << "b=" << b << endl; } int main() { test1(); system("pause"); return 0; }
1.2 類模板