模板函数和模板类

函数模板和类模板

//带有类模板参数的函数必须是函数模板
#include 
#include 
using namespace std;

//类模板
template < typename U >
class Compare
{
    U x;
public:
    Compare(U a){ x = a; }
    U abs()     //成员函数模板
    {
        if (x < 0) return -x;
        else return x;
    }

};

template 
void fun(Compare x) //函数模板
{
    cout << x.abs() << endl;
}

int main()
{
    Compare s1(-5);        //建立一个对象s1
    Compare S2(-5.8);   //建立一个对象S2
    fun(s1);
    fun(S2);
    system("pause");
    return 0;
}

你可能感兴趣的:(模板函数和模板类)