函數(shù)模板和類模板
//帶有類模板參數(shù)的函數(shù)必須是函數(shù)模板
#include <iostream>
#include <string>
using namespace std;
//類模板
template < typename U >
class Compare
{
U x;
public:
Compare(U a){ x = a; }
U abs() //成員函數(shù)模板
{
if (x < 0) return -x;
else return x;
}
};
template <typename U>
void fun(Compare<U> x) //函數(shù)模板
{
cout << x.abs() << endl;
}
int main()
{
Compare<int> s1(-5); //建立一個對象s1
Compare<double> S2(-5.8); //建立一個對象S2
fun(s1);
fun(S2);
system("pause");
return 0;
}