模板定义
模板是泛型编程的基础,模板是创建泛型类或函数的蓝图和公式。
函数模板
格式:
template <typename 类型>返回类型 函数名(参数列表)
{
//函数主题
}
代码
#include <iostream>
using namespace std;
template <typename T>
inline T const& MaxFunc(T const& a, T const& b)
{
return a > b ? a : b;
}
int main()
{
int a = 1, b = 2;
cout << "MaxFunc:" << MaxFunc(a, b) << endl;
double f1 = 1.11, f2 = 2.22;
cout << "MaxFunc:" << MaxFunc(f1, f2) << endl;
}
类模板
代码
#include <iostream>
using namespace std;
template <typename S>
class Compave
{
public:
Compave(S a, S b)
{
x = a;
y = b;
}
S MinFunc()
{
return (x < y ? x : y);
}
private:
int x, y;
};
int main()
{
Compave<int> obj(1, 2);
cout << "Compave" << obj.MinFunc() << endl;
}