C++中的template是做什么用的
3个回答
展开全部
这是C++中支持抽象的一种方式,称为模板。比如定义一个类Point,坐标x,y的值的数据类型可能因问题而异,这时可以使用模板机制,将类的声明中可能出现的数据类型参数化,仅用符号T代表,并在类声明的前面或每个成员函数的实现程序前面加一条类型参数化语句:
template <class T>
程序内部可以直接使用参数T定义相应的变量的数据类型,比如
class Point
{
T x;
T y;
public:
T getx();
....
}
实际使用时,可以用语句
Point<int> a;
建立一个类Point的实例,这个实例用整型int来给出x,y的值。
template <class T>
程序内部可以直接使用参数T定义相应的变量的数据类型,比如
class Point
{
T x;
T y;
public:
T getx();
....
}
实际使用时,可以用语句
Point<int> a;
建立一个类Point的实例,这个实例用整型int来给出x,y的值。
展开全部
C++中模板的声明和定义的位置一定要小心处理, 否则在链接时会出现"无法解析某某函数或类"的错误。
函数模板的一般定义形式:
template < 类型形式参数表 > 返回类型 FunctionName( 形式参数表 )
{
// 函数定义体
}
说明:
⒈ < 类型形式参数表 > 可以包含基本数据类型,也可以包含类类型。若是类类型,则须加前缀 class 。
⒉这样的函数模板定义不是一个实实在在的函数,编译系统不为其产生任何执行代码。该定义只是对函数的描述,表示它每次能单独处理在类型形式参数表中说明的数据类型。
函数模板的一般定义形式:
template < 类型形式参数表 > 返回类型 FunctionName( 形式参数表 )
{
// 函数定义体
}
说明:
⒈ < 类型形式参数表 > 可以包含基本数据类型,也可以包含类类型。若是类类型,则须加前缀 class 。
⒉这样的函数模板定义不是一个实实在在的函数,编译系统不为其产生任何执行代码。该定义只是对函数的描述,表示它每次能单独处理在类型形式参数表中说明的数据类型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
template 模板呀,就是采用类型作参数编出一个类或函数的模子,传入类型后,就可以得到一大堆你想要的功能几乎一样的类和函数了,呵呵
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询