参考答案和解析
正确答案:C
解析:本题考查的知识点是:函数模板。声明一个函数模板的格式是:
template模板形参表声明>>函数声明>
其中的模板形参表声明>是由一个或多个模板形参>组成。每个模板形参>具有下面几种形式:
(1)typename参数名>
(2)class参数名>
(3)类型修饰>参数名>
由此可见,题中的T是模板形参。故本题应该选择C。
更多“有如下函数模板:template<class T>T square(T x){return x*x;}其中T是A.函数形参B.函数实参C.模 ”相关问题
  • 第1题:

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

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

    A.friend void f();

    B.friend void f(x<T>&=;)

    C.friend void A::f()

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


    正确答案:B

  • 第2题:

    如下函数模板: template<Class T>T square(T x){return x*x;} 其中T是( )。

    A.函数形参

    B.函数实参

    C.模板形参

    D.模板实参


    正确答案:C
    本题考查模板函数的基本概念,根据模板函数的定义,T是模板形参,所以答案为C。

  • 第3题:

    有如下函数模板:templateT square (Tx) {return x*x;)其中T是()A.函数形参B.函数实参C.

    有如下函数模板: template<class T>T square (Tx) {return x*x;) 其中T是( )

    A.函数形参

    B.函数实参

    C.模板形参

    D.模板实参


    正确答案:C
    解析:此题考查的是函数模板。声明一个函数模板的格式是:
      template模板形参表声明>函数声明,{函数体}
      其中的模板形参表声明>是由一个或多个“模板形参”组成的,每个“模板形参”可具有以下几种形式:typename参数名;class参数名;类型修饰参数名。

  • 第4题:

    类模板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模板形参表声明>函数声明。调用模板函数时,如果与模板实参中最后的若干个参数有关的信息可以从模板函数的实参中获得,则相关的模板实参可以省略。

  • 第5题:

    类模板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棋板形参表声明>函数声明。调用模板函数时,如果与模板实参中最后的若干个参数有关的信息可以从模板函数的实参中获得,则相关的模板实参可以省略。