谁给详细说下C++模板类是怎么回事?

用自己的话大概解释下,我不清楚

我感觉就是为了可以处理许多不同类型的值,让程序更通用。编译时生成各类型(定义的)函数,运行时判断是什么类型,然后调用(和重载相似)
刚刚在回答别个朋友的时候写了个模板程序,你自己看:
#include<iostream>

using namespace std;

template<class T>//定义函数参数类型T
void Swap(T &x, T &y)
{
T temp = x;
x = y;
y = temp;
}

template<class T>
void MaxToMin(T A, T B, T C)
{
if(B>A)
{
Swap(A, B);
}
if(B<C)
{
if(C>A)
{
Swap(A,C);
}
Swap(B,C);
}
cout<<A<<" "<<B<<" "<<C<<endl;

}

int main(int argc, char argv[])
{
MaxToMin(2, 3, 1);//调用时可以动态转换成合适类型
MaxToMin(1.0f, 2.9f, 3.1f);
MaxToMin(1.11, 3.22, 2.78);
MaxToMin(3,2,1);
return 0;
}是个简单的函数模板,其实类模板也差不多。
template<class T>
class A
{ 模板函数
属性
}
创建对像调用时有点不同:
A<T> a;//T为你想转化的类型

其实在类模板里还有很多细节和约束,那些的你在做程序时遇到再查吧!~~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-25
模板就是一个框架,可以把有同类型的数据放到同一个模板中,实现相同的功能,模板类就是可以实现不同数据类型的一种特殊类.
相似回答