A、不能够直接使用成员名访问 B、能够通过成员运算符访问 C、仍然是基类的私有成员 D、变为派生类的私有成员
2、下列对派生类的描述中正确的说法是:( )。
A、派生类至少有一个基类
B、派生类可作为另一个派生类的基类
C、派生类除了包含它直接定义的成员外,还包含其基类的成员 D、派生类所继承的基类成员的访问权限保持不变
3、派生类的对象对其基类中( )不可以直接访问。
A、公有继承的公有成员 B、公有继承的私有成员 C、公有继承的保护成员 D、私有继承的公有成员
4、含有虚基类的派生类的构造函数调用次序错误的是( )
A、虚基类,基类,派生类, 对象成员 B、基类,派生类,对象成员,虚基类 C、对象成员,基类,虚基类,派生类 D、基类,虚基类,对象成员,派生类
5、已知有下面的类定义: class A {?}; class B {?}; class C:public B, virtual public A{?}; C c;撤销c的时候,析构函数调用顺序错误的是( )
A、ABC B、CBA C、BAC
D、CAB 第三题、判断题(每题1分,5道题共5分) 1、基类的保护成员在派生类中仍然是保护成员。 正确 错误 2、基类的保护成员在私有派生类中是私有成员。 正确 错误 3、私有继承时基类中的public成员在派生类中是private的。 正确 错误 4、在公有继承中,基类中只有公有成员对派生类是可见的。 正确 错误 5、多继承情况下,派生类的构造函数的执行顺序取决于定义派生时所指定的各基类的顺序。 正确 错误
《面向对象程序设计》第06章在线测试 剩余时间: 30:16 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、设有函数模板 template<class Q> Q Sum(Q x, Q y){ return(x)+(y); } 则下列语句中对该函数模板错误的使用是 ( ) A、Sum(10,2); C、Sum(15.2f, 16.0f); B、Sum(5.0,6.7) ; D、Sum( ″ AB ″ , ″ CD ″ ); 2、以下关于函数模板叙述正确的是( )。 A、函数模板也是一个具体类型的函数 C、通过使用不同的类型参数,函数模板可以生成不同类型的函数 B、函数模板的类型参数与函数的参数是同一个概念 D、用函数模板定义的函数没有类型 3、下面函数模板定义中不正确的是( ) B、template<class Q> Q F(Q x){ return Q+x; return x+x; } C、template<class T> D、template<class T> T F(T x){return x*x; rA、template<class Q> eturn x>1; }
4、模板参数在函数参数表中出现的次数不可能是( )。
A、1 C、0
B、2 D、任意
5、下面函数模板的声明正确的是( )
A、template void fun(int x){?}
B、template < class T> void fun(int x){?} D、template <class T> void fun(class T x){?}
C、template < class T> void fun(T x){?}
第二题、多项选择题(每题2分,5道题共10分) 1、函数模板参数的说法正确的是( )
A、模板类型参数前只能用class关键字 B、模板非类型参数前不需要说明类型
C、每一个函数模板参数在函数参数表中都必须出现 D、模板类型参数名可以用来制定函数模板的返回类型
2、模板函数与函数模板的区别是( )
A、模板函数是函数模板的抽象 B、函数模板是模板函数的抽象 C、模板函数是函数模板的重载函数 D、函数模板是具体的函数
3、关于类模板的说法正确的是( )
A、类模板是类的抽象 B、类模板是模板类的抽象 C、类模板中用到通用类型参数
D、类模板和普通类一样可以用于定义对象
4、关于模板之间的关系说法错误的是( )
A、C++中有函数模板和类模板
B、函数模板是模板函数的实例化 C、类模板是模板类的实例化 D、对象是类模板的实例化 5、关于函数模板的实例化正确的说法是( ) A、模板函数在实例化之前要先声明 B、模板类型可以进行隐式的类型转化 C、模板函数是函数模板的特例 D、函数模板实例化生成的函数模板是重载函数 第三题、判断题(每题1分,5道题共5分) 1、函数模板中的每一个类型参数在函数参数表中必须至少使用一次。 正确 错误 2、类模板中不能带有静态成员。 正确 错误 3、类模板中可以使用无类型参数,所谓无类型参数就是值没有参数。 正确 错误 4、模板参数名在同一模板参数表中只能使用一次,但可在多个函数模板声明或定义之间重复使用。 正确 错误 5、模板参数在函数参数表中出现的次数没有限制。 正确 错误
《面向对象程序设计》第05章在线测试 剩余时间: 5:02 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。 A、a.operator==(b) B、b.operator==(a)