关键字class和typename用于定义模板类型参数,其含义为()。A、任何用户定义的类类型B、C++内部的类型C、A与BD、都不是

题目

关键字class和typename用于定义模板类型参数,其含义为()。

A、任何用户定义的类类型

B、C++内部的类型

C、A与B

D、都不是


相似考题
参考答案和解析
参考答案:C
更多“关键字class和typename用于定义模板类型参数,其含义为()。A、任何用户定义的类类型B、C++内部的 ”相关问题
  • 第1题:

    关于关键字class和typename,下列表述中正确的是( )。

    A.程序中的typename都可以替换为class

    B.程序中的class都可以替换为typename

    C.在模板形参表中只能用typename来声明参数的类型

    D.在模板形参表中只能用class或typename来声明参数的类型


    正确答案:A
    解析:在模板中,定义模板类型templateclassT>和templatetypenameT>都是一样的,有时用class容易引起混淆,所以在标准化时引入了关键字typename。

  • 第2题:

    关于关键字class和typename,下列表述中正确的是( )。 A. 程序中的typename都可以替换为classS

    关于关键字class和typename,下列表述中正确的是( )。

    A. 程序中的typename都可以替换为class

    B.程序中的class都可以替换为typename

    C.在模板形参表中只能用{ypename来声明参数的类型

    D.在模板形参表中只能用class或typenanle来声明参数的类型


    正确答案:A
    程序中的typename都可以替换为class,但程序中的class不可以全部替换为typename。在模板类型形参中除了typename和class以外,也可以用常规类型来声明参数的类型,所以C、D选项错误。

  • 第3题:

    对于模板定义关键字class和typename说法不正确的是( )

    A.程序中的class并不能都替换为typename
    B.class和typename都可互相替换
    C.程序中的typename都能替换为class
    D.程序中的部分class可以替换为typename

    答案:B
    解析:

  • 第4题:

    对于模板定义关键字class和typename说法不正确的是( )。

    A.程序中的class并不能都替换为typename

    B.class和typename都可互相替换

    C.程序中的typename都能替换为class

    D.程序中的部分class可以替换为typename


    正确答案:B
    B。【解析】在C++程序中,typename是可以替换为class的,但class不能都替换为typename。

  • 第5题:

    通过关键字来指定函数模板的类型参数,有几个类型参数就有几个关键字,它实际表示任何内部类型或用户自定义类型。用来指定函数模板的类型参数的关键字是【 】。


    正确答案:typename(或class)
    typename(或class) 解析:函数模板的声明形式为:
    templateclass数据类型参数标识符>
    返回类型>函数名>(参数表)
    {
    函数体
    }
    其中,template 是定义模板函数的关键字,template 后面的尖括号不能省略,typename(或class)是声明数据类型参数标识符的关键字,用以说明它后面的标识符是数据类型标识符。这样,在以后定义的这个函数中,凡希望根据实参数据类型来确定数据类型的变量,都可以用数据类型参数标识符来说明,从而使这个变量可以适应不同的数据类型。