问题 单项选择题

下列函数模板的定义中,合法的是

A.template <typename T> T abs(T {return x<0-x:x;}

B.template class <T> T abs(T {return x<0-x:x;}

C.template T<class T>abs(T {return x<0-x:x;}

D.template T abs(T {return x<0-x:x;}

答案

参考答案:A

解析: 本题考查的知识点是:函数模板。声明一个函数模板的格式是:template<<模板形参表声明>><函数声明>其中的<模板形参表声明>是由一个或多个<模板形参>组成。每个<模板形参>具有下面几种形式:(1)typename<参数名>(2)class<参数名>(3)<类型修饰><参数名>故本题应该选择A。

单项选择题 A1型题
单项选择题