A-A+

下列函数模板的定义中 合法的是A.template <typename T> T abs(T

2022-08-06 03:03:23 问答库 阅读 175 次

问题详情

下列函数模板的定义中,合法的是
A.template <typename T> T abs(T x){return x<0?-x:x;}
B.template class <T> T abs(T x){return x<0?-x:x;}
C.template T<class T>abs(T x){return x<0?-x:x;}
D.template T abs(T x){return x<0?-x:x;}请帮忙给出正确答案和分析,谢谢!

参考答案

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

考点:函数,定义