8 1日複習 模板函式 模板類

2021-08-21 23:59:10 字數 2501 閱讀 7960

函式的過載:

//函式過載 感覺還是太繁瑣 引入函式模板的概念

#include using namespace std;

int add(int x , int y)

double add(double x, double y)

int main()

模板函式:

#include #include using namespace std;

template t add(t x, t y)

template void print(t1 x, t2 y)

template //模板函式的過載

void print(t1 x, t2 y , t2 z)

void print(int x , double y)//會優先呼叫基礎的函式 模板其次 除非顯示呼叫了

//模板 排序

#include #include using namespace std;

template void readnumber(t *a)

}template void maopao(t *a)

} }}template void showresult(t *a)

cout << endl;

}int main()

; //double b[5] = ;

cout << "please input 5 numbers" << endl;

readnumber(a);

//cout << "please input 5 numbers" << endl;

//readnumber(b);

maopao(a);

cout << "the result is :" << endl;

showresult(a);

system("pause");

return 0;

}

//模板類 只能顯示呼叫///(類內實現

#include #include using namespace std;

template class complex

void print() };

int main()

//類外實現

#include #include using namespace std;

template class complex

;template complex::complex(t a, t b)

template void complex::print()

int main()

//友元函式模板 類內宣告和類外宣告

#include #include using namespace std;

template class complex;

template friend ostream & operator << (ostream &out, const complex& c1);

template class complex

*/};

template friend ostream & operator << (ostream &out, const complex& c1)

template complex::complex(t a, t b)

template void complex::print()

int main()

//模板類

#include #include using namespace std;

template class a

;template a::a(t a)

class b :public a;

b::b(int b) : a(b)//顯式呼叫

template class c :public a;

template c::c(t c, t2 a) : a(a)//顯式呼叫

template class d : public a;

template d::d(t d,t2 a) : a(a)

int main()

//類模板中的靜態成員變數

//同一種資料型別的類  公用乙個靜態成員變數

#include #include using namespace std;

template class a

static int count;

};template int a::count = 0;

int main()

模板 函式模板 類模板

模板主要是針對資料型別,不同的資料型別卻具有相同的操作形式,比如說,同樣是做入棧,int和double由於資料型別不一樣,需要做兩個棧才能滿足需求,誠然可以使用函式過載,但是終歸棧的操作是一樣的,只是資料型別不一樣。所以在此基礎上,假設,我們首先將所有的資料型別視為乙個大類,將它引數化,等到要用的時...

模板函式,模板類

使用模板函式 include stdafx.h include iostream include string using namespace std template template t add const t t1,const t t2 int tmain int argc,tchar arg...

函式模板,類模板

來自 函式模板 template t getmax t a,t b 呼叫 int i 5,j 6,k long l 10,m 5,n k getmax i,j n getmax l,m 也可以雙型別 template t getmin t a,u b return a呼叫 int i,j long ...