参考博客:https://www.cnblogs.com/sevenyuan/p/3154346.html
以下内容是摘抄以上博主的博客
1、定义:模板定义:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。
2、函数模板的实现,如下代码:
//函数模板
#include <iostream>
using std::cout;
using std::endl;
//using namespace std;
template <class T>
T min(T x, T y)
{
return(x < y) ? x : y;
}
void main()
{
int n1 = 2, n2 = 10;
double d1 = 1.5, d2 = 5.6;
cout << "较小整数:" << min(n1, n2) << endl;
cout << "较小实数:" << min(d1, d2) << endl;
system("PAUSE");
}
3、类的模板,代码如下:
//类的模板
// ClassTemplate.h
#ifndef ClassTemplate_HH
#define ClassTemplate_HH
#include <iostream>
using std::cout;
using std::endl;
template<typename T1, typename T2>
class myClass {
private:
T1 I;
T2 J;
public:
myClass(T1 a, T2 b);//Constructor
void show();
};
//这是构造函数
//注意这些格式
template <typename T1, typename T2>
myClass<T1, T2>::myClass(T1 a, T2 b) :I(a), J(b) {}
//这是void show();
template <typename T1, typename T2>
void myClass<T1, T2>::show()
{
cout << "I=" << I << ", J=" << J << endl;
}
#endif
// Test.cpp
void main()
{
myClass<int, int> class1(3, 5);
class1.show();
myClass<int, char> class2(3, 'a');
class2.show();
myClass<double, int> class3(2.9, 10);
class3.show();
system("PAUSE");
}