更多“设计一个类,使得该类任何形式的派生类无论怎么定义和实现,都无法产生任何对象实例。(IBM)”相关问题
  • 第1题:

    以下关于面向对象软件测试的说法中,正确的是

    A.对于一个类进行单元测试时,一个测试用例只能调用在该类中定义的方法,不能调用在该类的父类中定义的方法

    B.对于一个类进行单元测试时,一个测试用例只能调用在该类的父类中定义的方法,不能调用在该类中定义的方法

    C.对于一个类进行单元测试时,一个测试用例既可以调用在该类的父类中定义的方法,也可以调用在该类中定义的方法

    D.对于一个类进行单元测试时,由该类及其父类中定义的方法组成的任何一个序列都是一个合理的测试用例


    正确答案:C
    解析:由于集成和多态的使用,对子类的测试通常不能限定在子类中定义的成员变量和成员方法上,还需要考虑父类对子类的影响。

  • 第2题:

    在基类中没有具体定义,但要求任何派生类都自已定义版本的虚函数是()。

    A.虚析构函数;

    B.构造函数;

    C.纯虚函数;

    D.静态成员函数。


    参考答案:C
    析:如果虚基类的派生类不重定义虚基类的纯虚函数,该派生类也将虚化。

  • 第3题:

    一个抽象类的派生类可以实例化的必需条件是实现了所有的【 】。


    正确答案:纯虚函数
    纯虚函数

  • 第4题:

    下面程序定义了一个类,关于该类说法正确的是( )。abstract class abstract Class{}

    A.该类能调用newabstractClass( );方法实例化为一个对象

    B.该类不能被继承

    C.该类的方法不能被重载

    D.以上说法都不对


    正确答案:D

  • 第5题:

    下列有关继承和派生的叙述中,正确的是( )。

    A.如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员

    B.派生类的成员函数可以访问基类的所有成员

    C.基类对象可以赋值给派生类对象

    D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类


    正确答案:D

  • 第6题:

    关于抽象类和具体类,下列说法不正确的是()

    • A、如果一个类有父类,该类就是具体类
    • B、如果一个类继承了父类的抽象操作方法,而该类未提供实现,那么该类是抽象类
    • C、抽象类没有任何直接的实例,而具体类则有直接实例
    • D、在UML中,通过把一个类的名称写为斜体来指明该类是抽象类

    正确答案:A

  • 第7题:

    关于私有继承,下列说法错误的是()。

    • A、基类的公有成员和保护成员被继承后作为派生类的私有成员,派生类的其他成员可以直接访问他们。
    • B、基类的公有成员和保护成员被继承后作为派生类的私有成员,派生类的其他成员不能直接访问他们。
    • C、基类的私有成员,派生类的成员和派生类的对象都无法访问。
    • D、派生类的对象无法访问基类的所有成员。

    正确答案:B

  • 第8题:

    在面向对象的程序设计中,派生类只能从一个基类产生。


    正确答案:错误

  • 第9题:

    以下关于类和对象的陈述中,错误的是()。

    • A、类是具有相同或相似结构、操作和约束规则的对象所组成的集合
    • B、类是对具有相同性质的对象的抽象
    • C、任何一个对象都是某个类的实例
    • D、类的方法描述的是该类对象的状态

    正确答案:D

  • 第10题:

    某个类的某一个具体的对象称为该类的一个实例。


    正确答案:正确

  • 第11题:

    多选题
    关于线程的创建过程,下面四种说法正确的有哪些?()
    A

    定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法

    B

    定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法

    C

    定义一个实现Runnable 接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法

    D

    定义一个实现Runnable 接口的类并实现run()方法,创建该类对象,然后调用run()方法


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

  • 第12题:

    单选题
    在C++中,编译系统自动为一个类生成缺省构造函数的条件是(  )。
    A

    该类没有定义任何有参构造函数

    B

    该类没有定义任何无参构造函数

    C

    该类没有定义任何构造函数

    D

    该类没有定义任何成员函数


    正确答案: B
    解析:
    如果一个类中定义了一个缺省的构造函数,则使用该函数;如果一个类中没有定义任何构造函数,编译器将生成一个不带参数的共有缺省构造函数。

  • 第13题:

    任何一个父类的引用变量(或对象)都可以被当成一个派生类的引用变量(或对象)。()

    此题为判断题(对,错)。


    正确答案:错误

  • 第14题:

    生成派生类对象时,派生类构造函数调用基类构造函数的条件是( )。

    A) 无需任何条件

    B) 基类中显示定义了构造函数

    C) 派生类中显式定义了构造函数

    D) 派生类构造函数明确调用了基类构造函数

    A.

    B.

    C.

    D.


    正确答案:A

  • 第15题:

    有关类和对象的说法不正确的是( )。

    A.对象是类的一个实例

    B.任何一个对象只能属于一个具体的类

    C.一个类只能有一个对象

    D.类与对象的关系和数据类型和变量的关系相似


    正确答案:C

  • 第16题:

    在面向对象的程序设计中,将数据和处理数据的操作封装成一个整体就定义了一种事物的类型,称作“类”。类是一种抽象的概念,属于该类的一个实例叫做“【 】”。


    正确答案:对象
    对象 解析:对象是一个可视化的或非可视化的元件,而在C++程序代码中,对象是类的一个实例(有时指向对象的指针也称为对象)。

  • 第17题:

    一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称__________。


    正确答案:
    纯虚函数 【解析】纯虚函数是在声明虚函数时被“初始化”为0的函数。纯虚函数没有函数体,只是函数的名而不具备函数的功能,只是在基类中预留了一个函数名,具体功能留给派生类根据需要去定义。

  • 第18题:

    如果一个类中没有定义任何构造函数,则该类的对象便无法初始化


    正确答案:错误

  • 第19题:

    关于线程的创建过程,下面四种说法正确的有哪些?()

    • A、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法
    • B、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
    • C、定义一个实现Runnable 接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法
    • D、定义一个实现Runnable 接口的类并实现run()方法,创建该类对象,然后调用run()方法

    正确答案:A,C

  • 第20题:

    关于保护继承,下列说法错误的是()。

    • A、保护继承的特点是基类的所有公用成员和保护成员都成为派生类的保护成员。
    • B、派生类对象不能访问基类中的任何成员。
    • C、派生类的对象可以访问基类的公有成员。
    • D、保护继承的派生类和私有继承的派生类,对基类成员访问属性是相同的。

    正确答案:C

  • 第21题:

    下面程序定义了一个类,关于该类说法正确的是()。 abstract class abstractClass { „„ }

    • A、该类能调用new abstractClass()方法实例化为一个对象
    • B、该类不能被继承
    • C、该类的方法都不能被重载
    • D、以上说法都不对

    正确答案:B

  • 第22题:

    单选题
    关于保护继承,下列说法错误的是()。
    A

    保护继承的特点是基类的所有公用成员和保护成员都成为派生类的保护成员。

    B

    派生类对象不能访问基类中的任何成员。

    C

    派生类的对象可以访问基类的公有成员。

    D

    保护继承的派生类和私有继承的派生类,对基类成员访问属性是相同的。


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

  • 第23题:

    单选题
    生成派生类对象时,派生类构造函数调用基类构造函数的条件是(  )。
    A

    无需任何条件

    B

    基类中显示定义了构造函数

    C

    派生类中显式定义了构造函数

    D

    派生类构造函数明确调用了基类构造函数


    正确答案: D
    解析:
    因为派生类从基类中继承,它含有基类中的数据成员和函数成员,所以当生成派生类对象时,能无条件的调用基类的构造函数。