niusouti.com

单选题下列有关模板的叙述中,正确的是(  )。A 函数模板不能含有常规形参B 函数模板的一个实例就是一个函数定义C 类模板的成员函数不能是模板函数D 用类模板定义对象时,绝对不能省略模板实参

题目
单选题
下列有关模板的叙述中,正确的是(  )。
A

函数模板不能含有常规形参

B

函数模板的一个实例就是一个函数定义

C

类模板的成员函数不能是模板函数

D

用类模板定义对象时,绝对不能省略模板实参


相似考题
更多“单选题下列有关模板的叙述中,正确的是(  )。A 函数模板不能含有常规形参B 函数模板的一个实例就是一个函数定义C 类模板的成员函数不能是模板函数D 用类模板定义对象时,绝对不能省略模板实参”相关问题
  • 第1题:

    下面关于函数模板的表述中不正确的是( )

    A.类模板的成员函数都是模板函数

    B.类模板本身在编译过程中不会产生任何代码

    C.类模板只能有虚拟类型的参数

    D.用类模板定义一个对象时,实参不能省略


    正确答案:C

  • 第2题:

    下列关于模板的叙述中,正确的是

    A.如果一个类中存在纯虚函数,这个类就是类模板

    B.函数模板不能有形式参数表

    C.类模板是一种参数化类型的类,是类的生成器

    D.类模板中不能包含构造函数


    正确答案:C

  • 第3题:

    下列关于函数模板的描述中,错误的是

    A.从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准

    B.对于常规参数所对应的模板实参,任何情况下都不能省略

    C.虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参

    D.模板参数表不能为空


    正确答案:D
    解析:模板实参的省略在调用一个模板函数时,编译系统需要足够的信息来判别每个虚拟类型参数所对应的实际类型,可以从两个不同的渠道获得这样的信息:从模板实参表或从模板函数实参表,模板实参的信息优先于函数实参的信息。因此,A)选项是正确的。下面列举几种模板实参不能省略的情况。①从模板函数实参表获得的信息矛盾。②需要获得特定类型的返回值,而不管参数的类型如何。③虚拟类型参数没有出现在模板函数的形参表中。④函数模板含有常规形参。由3和4可以看出选项B)、c)是正确的,因此选D)。如果模板实参表中的实参都被省略了,则连空表也可以不要,也就是说模板参数表可以为空。

  • 第4题:

    下列关于模板的描述中,错误的是( )。

    A.类模板的成员函数都是模板函数

    B.函数模板是一种参数化类型的函数

    C.满足一定条件时可以省略模板实参

    D.模板形参只能由关键字typename声明


    正确答案:D
    D。【解析】template<typename(或class)数据类型参数标识符>。

  • 第5题:

    下面关于函数模板的表述中不正确的是( )。

    A)类模板的成员函数都是模板函数

    B)类模板本身在编译过程中不会产生任何代码

    C)类模板只能有虚拟类型的参数

    D)用类模板定义一个对象时,实参不能省略


    正确答案:C

  • 第6题:

    下列关于函数模板实参不能省略的情况说明不正确的是( )

    A.从模板函数实参表获得的信息有矛盾
    B.需要获得特定类型的返回值,而不管参数的类型如何
    C.虚拟类型参数没有出现在模板函数的形参表中
    D.函数模板不含有常规形参

    答案:D
    解析:

  • 第7题:

    关于模板下列说法不正确的是( )

    A.用类模板定义一个对象时,不能省略实参
    B.类模板只能有虚拟类型参数
    C.类模板本身在编译中不会生成任何代码
    D.类模板的成员函数都是模板函数

    答案:B
    解析:

  • 第8题:

    单选题
    下列关于模板的叙述中,正确的是(  )。
    A

    如果一个类中存在纯虚函数,这个类就是类模板

    B

    函数模板不能有形式参数表

    C

    类模板是一种参数化类型的类,是类的生成器

    D

    类模板中不能包含构造函数


    正确答案: C
    解析:
    A项偷换概念,如果一个类中存在纯虚函数,这个类就是抽象类;B项,声明一个函数模板的格式是:template<<模板形参表>><函数声明>,函数模板由形式参数表;C项,对于函数模板,数据类型本身成了它的参数,是一种参数化类型的函数;对于类模板,数据类型本身成了它的参数,因而是一种参数化类型的类,是类的生成器;D项,类模板中可以包含构造函数。

  • 第9题:

    单选题
    关于模板,下列说法不正确的是(  )。
    A

    用类模板定义一个对象时,不能省略实参

    B

    类模板只能有虚拟类型参数

    C

    类模板本身在编译中不会生成任何代码

    D

    类模板的成员函数都是模板函数


    正确答案: A
    解析:
    C++中可以为类模板的参数设置默认值。类模板不是一个实实在在的类,本身在编译中不会生成任何代码;用类模板定义一个对象时,不能省略实参;类模板的成员函数都是模板函数。

  • 第10题:

    单选题
    下列关于模板的描述中,错误的是(  )。
    A

    类模板的成员函数都是模板函数

    B

    函数模板是一种参数化类型的函数

    C

    满足一定条件时可以省略模板实参

    D

    模板形参只能由关键字typename声明


    正确答案: A
    解析:
    同一模板的声明和定义中,模板形参的名字不必相同。每个模板类型形参前面必须带上关键字typename/class,每个非模板类型形参前面必须带上类型名字。

  • 第11题:

    单选题
    下列关于函数模板的描述中,正确的是(  )。
    A

    函数模板是一个实例函数

    B

    使用函数模板定义的函数没有返回类型

    C

    函数模板的类型参数与函数的参数相同

    D

    通过使用不同的类型参数,可以从函数模板得到不同的实例函数


    正确答案: C
    解析:
    函数模板是一系列相关函数的模型或样板,这些函数的源代码相同,只是所针对的数据类型不同。数据类型成了函数模板的参数,所以函数模板是一种参数化类型的函数,通过使用不同的类型参数,可以从函数模板得到不同的实例函数。

  • 第12题:

    单选题
    关于函数模板,描述错误的是()
    A

    函数模板必须由程序员实例化为可执行的函数模板

    B

    函数模板的实例化由编译器实现

    C

    一个类定义中,只要有一个函数模板,这个类就是类模板

    D

    类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化


    正确答案: B
    解析: 暂无解析

  • 第13题:

    关于类模板,下列表述不正确的是

    A.用类模板定义一个对象时,不能省略实参

    B.类模板只能有虚拟类型参数

    C.类模板本身在编译中不会生成任何代码

    D.类模板的成员函数都是模板函数


    正确答案:B
    解析:本题考核类模板的概念。类模板就是一系列相关类的模型或样板,这些类的成员组成相同,成员函数的源代码形式相同,所不同的只是所针对的类型(成员的类型以及成员函数的参数和返回值的类型)。C++中可以为类模板的参数设置默认值,所以B) 选项是不正确的,其他选项的表述都是正确的。

  • 第14题:

    关于类模板,下列表述中不正确的是( )。

    A.类模板的成员函数都是模板函数

    B.类模板本身在编译中不会生成任何代码

    C.类模板只能有虚拟类型参数

    D.用类模板定义一个对象时,不能省略实参


    正确答案:C
    解析:C++中可以为类模板的参数设置默认值,所以选项是C不正确的。

  • 第15题:

    下列有关模板的叙述中,正确的是

    A.函数模板不能含有常规形参

    B.函数模板的一个实例就是一个函数定义

    C.类模板的成员函数不能是模板函数

    D.用类模板定义对象时,绝对不能省略模板实参


    正确答案:B
    解析:类模板可以成为另外一个类模板的成员(叫“成员模板”),函数模板没有实参和形参之分,函数模板可以看成一个无参函数,它的参数要根据调用对象的参数而定。

  • 第16题:

    下面有关类模板的说法中不正确的是( )。 A)

    B)

    C)

    D)

    A.类模板的成员函数都是模板函数

    B.类模板本身在编译中不会生成任何代码

    C.类模板只是虚拟类型的参数

    D.用类模板定义一个对象时,不能省略实际参数


    正确答案:C

  • 第17题:

    下面有关类模板的说法中不正确的是( )。

    A.类模板的成员函数都是模板函数

    B.类模板本身在编译中不会生成任何代码

    C.类模板只是虚拟类型的参数

    D.用类模板定义一个对象时,不能省略实际参数


    正确答案:C

  • 第18题:

    下面关于模板的描述,错误的是

    A.函数模板和类模板的参数可以是任意的数据类型
    B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用
    C.函数模板不能直接使用,需要实例化为模板函数后才能使用
    D.类模板的成员函数都是模板函数

    答案:A
    解析:

  • 第19题:

    关于函数模板,描述错误的是()

    • A、函数模板必须由程序员实例化为可执行的函数模板
    • B、函数模板的实例化由编译器实现
    • C、一个类定义中,只要有一个函数模板,这个类就是类模板
    • D、类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化

    正确答案:A

  • 第20题:

    单选题
    下列关于模板的叙述中,错误的是(  )。
    A

    调用模板函数时,有时可以省略模板实参

    B

    函数模板的每个实例就是一个函数定义

    C

    类模板的每个实例就是一个类定义

    D

    类模板的实例是一个类对象


    正确答案: C
    解析:
    在定义对象的过程中,编译系统会自动地根据需要生成相应的类定义,这种依据类模板生成类定义的过程称为类模板的实例化。类模板实例化所生成的每一个类定义就是相应类模板的一个实例。

  • 第21题:

    单选题
    下列关于函数模板的描述中,错误的是(  )。
    A

    从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准

    B

    对于常规参数所对应的模板实参,任何情况下都不能省略

    C

    虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参

    D

    模板参数表不能为空


    正确答案: C
    解析:
    在调用一个模板函数时,如果编译系统能够从模板实参表判断其中或全部虚拟类型参数对应的实际参数,而且它们正好是参数表中最后的若干参数,则模板实参表中的那几个参数可以省略,因此模板参数表可以为空。

  • 第22题:

    单选题
    下面关于函数模板的表述中不正确的是(  )。
    A

    类模板的成员函数都是模板函数

    B

    类模板本身在编译过程中不会产生任何代码

    C

    类模板只能有虚拟类型的参数

    D

    用类模板定义一个对象时,实参不能省略


    正确答案: C
    解析:
    类模板本身在编译时是不会产生代码的,只有在其实例
    化以后才产生代码。定义一个对象时,不能省略其实参。

  • 第23题:

    单选题
    下列关于模板的叙述中,错误的是(  )。
    A

    模板声明中的第一个符号总是关键字template

    B

    在模板声明中用<和>括起来的部分是模板的形参表

    C

    类模板不能有数据成员

    D

    在一定条件下函数模板的实参可以省略


    正确答案: A
    解析:
    AB两项正确,模板的一般说明形式如下:template<<模板形参表>><函数声明>;C项错误,类模板可以有数据成员和成员函数;D项正确,函数模板的实参在一定条件下是可以省略的。