面向对象程序设计郑大网上测试 下载本文

A、模板函数是函数模板的抽象 B、函数模板是模板函数的抽象 C、模板函数是函数模板的重载函数 D、函数模板是具体的函数

3、关于类模板的说法正确的是( )

A、类模板是类的抽象 B、类模板是模板类的抽象 C、类模板中用到通用类型参数

D、类模板和普通类一样可以用于定义对象

4、关于函数模板的说法正确的是( )

A、函数模板生成的模板函数是重载的,但是函数模板不能重载 B、C++程序中函数模板可以同名,但是形参个数和类型应有区别 C、函数模板可以和普通函数重载 D、函数模板不能重载

5、关于类模板的成员函数的说法正确的是( )

A、类模板的成员函数被认为是函数模板,也成为类属函数 B、类模板的成员函数的定义与类的成员函数的定义一样 C、类模板的成员函数通过类模板调用

D、类模板的成员函数可以在类外定义,但要符合函数模板定义的规范

第三题、判断题(每题1分,5道题共5分)

1、在C++中,当存在一个与模板函数同名的普通函数时,调用的顺序是模板函数优先。

正确

错误

2、带有类模板参数的友元函数必须是模板函数。

正确

错误

3、模板类型参数名可以用来指定函数模板的返回类型。

正确 错误 4、函数模板每个模板类型参数前面都必须用关键字class或typename修饰。 正确 错误 5、函数模板是程序员用代码写出来的,模板函数是编译系统在编译时根据函数模板自动生成的。 正确 错误

《面向对象程序设计》第07章在线测试

剩余时间: 59:54

第一题、单项选择题(每题1分,5道题共5分) 1、下面叙述不正确 的是 ( )

A、派生类都用公有派生产生

C、赋值兼容规则也适用于多重继承的组合

B、对基类成员的访问必须是无二义性的 D、基类的公有成员在派生类中仍然是公有的

2、对基类和派生类的关系描述中, 错误 的是 ( )

A、派生类是基类的具体化 C、派生类是基类定义的延续

B、基类继承了派生类的属性 D、派生类是基类的特殊化

3、继承机制的作用是 ( )

A、信息隐藏 C、定义新类

B、数据封装 D、数据抽象

4、可以用 p.a 的形式访问派生类对象 p 的基类成员 a ,其中 a 是 ( )

A、私有继承的公有成员 C、公有继承的保护成员

B、公有继承的私有成员 D、公有继承的公有成员

5、下列虚基类的说明中,正确的是( )

A、class virtual B:public A C、virtual class B:public A

B、class B:virtual public A D、class B:public A virtual

第二题、多项选择题(每题2分,5道题共10分)

1、在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是 ( )c

A、派生类的对象可以赋给基类的对象 B、派生类的对象可以初始化基类的引用 C、派生类的对象可以直接访问基类中的成员 D、派生类的对象的地址可以赋给指向基类的指针

2、如果是类B在类A的基础上构造,那么,就称( )。

A、类A为基类或父类,类B为超类或子类 B、类A为基类、父类或超类,类B为派生类或子类

C、类A为派生类,类B为基类

D、类A为派生类或子类,类B为基类、父类或超类

3、对于公有继承,基类中的私有成员在派生类中将 ( )。

A、不能够直接使用成员名访问 B、能够通过成员运算符访问 C、仍然是基类的私有成员 D、变为派生类的私有成员

4、派生类的对象对其基类中( )不可以直接访问。

A、公有继承的公有成员 B、公有继承的私有成员 C、公有继承的保护成员 D、私有继承的公有成员

5、下面说法正确的是( )

A、派生类指针可以直接指向基类对象 B、派生类指针可以强制转换为基类指针 C、派生类成员可以通过基类指针引用 D、基类指针可以指向派生类中对象

第三题、判断题(每题1分,5道题共5分) 1、基类的保护成员不能被派生类的对象访问。

正确

错误

2、公有继承时基类中的protected成员在派生类中仍是protected的。

正确

错误

3、派生类的继承方式有两种,公有继承和私有继承。

正确

错误

4、在私有继承中,基类中只有公有成员对派生类是可见的。