C++类模板

//标准格式:template<typename T> 
//       :template<class T>

           

1.模板函数(适用于参数个数相同而参数类型不同的同名函数

#include <iostream>
using namespace std;
template <typename T>
T add(const T a, const T b)
{
    T item;
    item = a + b;
    return item;
}
int main()
{
    int a, b;
    cin >> a >> b;
    cout<<add(a,b);
    double c, d;
    cin >> c >> d;
    cout <<add(c, d);
    system("pause");
    return 0;
}

2.类模板(在类外定义成员函数时,需要再声明template<class T>

#include <iostream>
using namespace std;
template <class T>
class test
{
public:
    T item;
    T add(const T a, const T b);
};
template <class T>
T test<T>::add(const T a, const T b)
{
    item = a + b;
    return item;
}
int main()
{
   
    test<double> t1;          //注意要用类型实例化一个类
    cout<<t1.add(1.2,2.4);
    system("pause");
    return 0;
}
原文地址:https://www.cnblogs.com/god-for-speed/p/10829051.html