《面向对象程序设计》第08章在线测试
《面向对象程序设计》第08章在线测试
剩余时间:
59:58
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)
1、面向对象方法的多态性是指( C)。
A、一个类可以派生出多个特殊类 B、一个对象在不同的运行环境中可以有不同的变体
C、针对一消息,不同的对象可以以适合自身的方式加以响应 D、一个对象可以是由多个其他对象组合而成的
2、对于类定义 class A{ public: virtual void func1( ){ } void func2( ){ } }; class B:public A{ public: void func1( ){cout<< ″ class B func 1 ″ <<END1;}  virtual void func2( ){cout<< ″ class B func 2 ″ <<END1;}  }; 下面正确的叙述是 ( C)
A、A::func2( ) 和 B::func1( ) 都是虚函数 B、A::func2( ) 和 B::func1( ) 都不是虚函数
C、B::func1( ) 是虚函数,而 A::func2( ) 不是虚函数 D、B::func1( ) 不是虚函数,而 A::func2( ) 是虚函数
3、下面不是多态性的是( D)
A、函数重载 B、动态绑定
C、模板 D、派生
4、下面的说法正确的是(A )
A、虚函数是成员函数 B、虚函数可以是静态成员函数
C、构造函数和析构函数都可以定义为虚函数 D、虚函数可以是内联函数
5、下面的说法错误的是( A)
A、纯虚函数不需要定义 B、纯虚函数在派生类中实现
C、纯虚函数在基类中定义为0 D、纯虚函数是不具体实现的虚函数
第二题、多项选择题(每题2分,5道题共10分)
1、下面属于多态性的是(ABC )
A、函数重载
B、类模板
C、函数模板
D、派生类
2、下面的说法正确的是( BCD(这个答案一会对一会不对,我也不知道到底对不对))
A、虚函数在派生类中可能有不同实现
B、C++对虚函数的调用采取了动态绑定方式
C、动态绑定只能通过指针或引用表示对象来调用虚函数
D、动态绑定的处理方式不能实现静态类型检查
3、调用虚函数实现多态的步骤是( ABD)
A、将基类对象地址或派生类对象地址赋给基类指针
B、定义基类指针
C、用派生类对象或基类对象调用虚函数
D、用基类指针调用虚函数
4、下面的说法正确的是( BCD)
A、纯虚函数不需要定义
B、纯虚函数在派生类中实现
C、纯虚函数在基类中定义为0
D、纯虚函数是不具体实现的虚函数
5、当一个类的某个函数被说明为 virtual 时,下面说法错误的是( BCD)
A、该函数在该类的所有派生类中都是虚函数
B、该函数在该类的所有派生类中只有被重新说明时才是虚函数
C、该函数在该类的所有派生类中只有被重新说明为 virtual 时才是虚函数
D、该函数在该类的所有派生类中都不是虚函数
第三题、判断题(每题1分,5道题共5分)
1、相比较而言,静态绑定的执行速度要比动态绑定的执行速度快。
正确 错误T
2、构造函数说明为纯虚函数是没有意义的。
正确 错误T
3、抽象类是指一些没有说明对象的类。
正确 错误F
4、纯虚函数是一种特殊的虚函数,它没有具体的实现
正确 错误T
5、抽象类是指具有纯虚函数的类;
正确 错误T