( 25 )下列函数模板的定义中,合法的是A ) template Tabs ( T x ) {return x <0 – x: x;}B ) template class Tabs ( Tx ) {retumx<0 -x;x;}C ) template Tabs ( T x ) {retum x<0 -x;x;}D ) template T abs ( T x ) {returm x<0 -x;x;}

题目

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

A ) template Tabs ( T x ) {return x <0 – x: x;}

B ) template class Tabs ( Tx ) {retumx<0 -x;x;}

C ) template Tabs ( T x ) {retum x<0 -x;x;}

D ) template T abs ( T x ) {returm x<0 -x;x;}


相似考题
更多“( 25 )下列函数模板的定义中,合法的是A ) template Tabs ( T x ) {return x &lt;0 – x: x;}B ) t ”相关问题
  • 第1题:

    类模板templateclass x{...},其中友元函数f对特定类型T(如int),使函数f(x)成为x

    类模板template<class T>class x{...},其中友元函数f对特定类型T(如int),使函数f(x<int>)成为x<int>模板类的友元,则其说明为( )。

    A.friend voidf();

    B.friend voidf(x<T>);

    C.friend voidA::f();

    D.friend void C<T>::f(x<T>);


    正确答案:B
    解析:声明一个函数模板的格式:template棋板形参表声明>函数声明。调用模板函数时,如果与模板实参中最后的若干个参数有关的信息可以从模板函数的实参中获得,则相关的模板实参可以省略。

  • 第2题:

    下面的函数模板定义中错误的是______ 。A.template QF (Q x){return Q +x;}B.template<

    下面的函数模板定义中错误的是______ 。

    A.template<class Q > QF (Q x){return Q +x;}

    B.template<class Q > QF (Q x){returnx/x;}

    C.template <class T > T F(T x) {return x*x;}

    D.template <class T> bool F (T x) {return x>1;}


    正确答案:A
    解析:Q只是模板的语法要求,不能作为一个值。

  • 第3题:

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

    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;}


    B

  • 第4题:

    下列关于函数模板的定义中,合法的是()。A.template class T abs(T z) {return z<0 ?-z:z;}B.te

    下列关于函数模板的定义中,合法的是( )。

    A.template class <T>T abs(T z) {return z<0 ?-z:z;}

    B.template<typename T>T abs(T z) {return z<0 ?-z:z;}

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

    D.template T abs(Tz) {return z<0 ?z:z;}


    正确答案:B
    解析:声明一个函数模板格式是:
      template模板形参表声明>函数声明>
      其中模板形参表声明>是由一个或多个模板形参>组成(如果是多个需要用逗号隔开)。其中,模板形参>可以换成class,函数的声明部分和一般函数的声明部分类似,只有某些类型修饰符被虚拟类型参数替代。

  • 第5题:

    21、下列函数模板的定义中,合法的是()。

    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;}


    B