《面向对象程序设计》第08章在线测试
剩余时间:
57:56
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)
1、下面描述中体现了抽象类特性的语句是(D )
A、可以说明虚函数 B、可以进行构造函数重载
C、可以定义友元函数 D、不能说明其对象
2、当一个类的某个函数被说明为 virtual 时,该函数在该类的所有派生类中 (A )
A、都是虚函数 B、只有被重新说明时才是虚函数
C、只有被重新说明为 virtual 时才是虚函数 D、都不是虚函数
3、要实现动态联编必须(D )
A、通过成员名限定来调用虚函数 B、通过对象名来调用虚函数
C、通过派生类对象来调用虚函数 D、通过对象指针或引用来调用虚函数
4、在派生类中定义虚函数时,可以与基类中相应的虚函数不同的是( D)
A、参数类型 B、参数个数
C、函数名称 D、函数体
5、类A 中定义了虚函数f,类C是类A的派生类,类C中重新定义了虚函数f。声明变量: A a,*p1; B b, *p2; 下面语句实现动态绑定的是(C )
A、a.f(); B、b.f();
C、p1=&b; p1->f(); D、p2=&b; p2->f();
第二题、多项选择题(每题2分,5道题共10分)
1、函数绑定的两种形式是(AB )
A、静态绑定
B、动态绑定
C、随机绑定
D、混合绑定
2、关于抽象类的说法正确的是(BD )
A、抽象类可以生成类对象
B、抽象类不能用作参数类型、函数返回类型或显式转换的类型
C、不能定义抽象类指针和引用
D、抽象类只能作为其他类的基类
3、设计统一的公共接口采取的策略是( )
A、设计一组实现公共功能的函数作为类的成员函数
B、实现公共功能的函数必须是纯虚函数
C、作为公共接口的类只能是抽象类
D、实现公共功能的函数必须是虚函数
4、下列关于虚函数与函数重载区别的叙述中正确的是(BCD )
A、函数说明形式上不同
B、函数重载允许是非成员函数,虚函数只能是成员函数
C、函数重载的调用依据参数和类型的差别,虚函数则依据对象
D、函数重载的本体可以在类外定义,虚函数不可以
5、当一个类的某个函数被说明为 virtual 时,下面说法错误的是(BCD )
A、该函数在该类的所有派生类中都是虚函数
B、该函数在该类的所有派生类中只有被重新说明时才是虚函数
C、该函数在该类的所有派生类中只有被重新说明为 virtual 时才是虚函数
D、该函数在该类的所有派生类中都不是虚函数
第三题、判断题(每题1分,5道题共5分)
1、设计统一的公共接口是利用抽象类和虚函数实现的。T
正确 错误
2、相比较而言,静态绑定的执行速度要比动态绑定的执行速度快。T
正确 错误
3、函数绑定是指函数的入口地址同函数调用相联系的过程。T
正确 错误
4、虚函数是用virtual 关键字说明的成员函数。T
正确 错误
5、抽象类是指一些没有说明对象的类。F
正确 错误