函式的過載:
//函式過載 感覺還是太繁瑣 引入函式模板的概念
#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 ...