张老师 发表于 2017-5-6 13:21:58

浙大17春《面向对象程序设计》在线作业参考答案

浙大17春《面向对象程序设计》在线作业
一、单选题:
1.C++中的类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运行,另一种是通过(    )派生出新的类。          (满分:2)
    A. 复用
    B. 继承
    C. 单继承
    D. 多继承
2.在每个C++程序中都必须包含有这样一个函数,该函数的函数名(    )。          (满分:2)
    A. main
    B. MAIN
    C. name
    D. function
3.假定AB为一个类,则执行“AB*p=new AB(1,2);”语句时共调用该类构造函数的次数为(    )。          (满分:2)
    A. 0
    B. 1
    C. 2
    D. 3
4.作用域运算符的功能是(    )          (满分:2)
    A. 给定作用域的大小
    B. 表示作用域的级别的
    C. 某个成员是属于哪个类的
    D. 指出作用域的范围的
5.设x和y均为bool量,则x (    ) y为假的条件是(    )。          (满分:2)
    A. 它们均为真
    B. 其中一个为真
    C. 它们均为假
    D. 其中一个为假
6.模板是实现类属机制的一种工具,它的功能非常强大,它是元约束类属机制和约束类属机制的集合,允许用户构造类属函数的是(    )。          (满分:2)
    A. 类模板
    B. 模板类
    C. 函数模板
    D. 模板函数
7.面向对象程序设计着重于(    )的设计。          (满分:2)
    A. 对象
    B. 类
    C. 算法
    D. 数据
8.下列关于派生类可访问它基类成员的描述中,错误的是(    )。          (满分:2)
    A. 派生类可访问它基类中的成员与继承方式有关
    B. 派生类不可访问它基类中的私有成员
    C. 公有继承方式下,派生类可访问它基类的私有成员
    D. 私有继承方式下,派生类可访问它基类中的公有成员和保护成员
9.下列不合法的变量名为(    )          (满分:2)
    A. int
    B. int1
    C. name1
    D. name0
10.关于getline(    )函数的下列描述中,错误的是(    )。          (满分:2)
    A. 该函数中所使用的终止符只能是换行符
    B. 该函数读取字符串时,遇到终止符时便停止
    C. 该函数读取的字符串长度是受限制的
    D. 该函数可以用来从键盘上读取字符串
11.类模板的模板参数(    )。          (满分:2)
    A. 只可作为数据成员的类型
    B. 只可作为成员函数的返回类型
    C. 只可作为成员函数的参数类型
    D. 以上三者皆可
12.对于语句cin>>x;中各个组成部分,下列叙述中错误的是(    )。          (满分:2)
    A. ";"的作用是语句的结束
    B. "cin"是一个输出流对象
    C. ">>"称作提取运算符
    D. "x"是一个变量
13.下列有关类的说法不正确的是(    )。          (满分:2)
    A. 对象是类的一个实例
    B. 任何一个对象只能属于一个具体的类
    C. 一个类只能有一个对象
    D. 类与对象的关系和数据类型与变量的关系相似
14.关于this 的描述正确的是(    )。          (满分:2)
    A. this指针是指向对象的指针
    B. this指针是在使用对象引用成员函数时系统自动生成的
    C. this指针是指向成员函数的指针
    D. this指针可以在程序中显示使用
15.下面关于派生类的描述中,(    )是错的。          (满分:2)
    A. 一个派生类可以作为另一个派生类的基类
    B. 派生类至少有一个基类
    C. 派生类的成员除了它自己的成员外,还包含了它的基类的成员
    D. 派生类中继承的基类成员的访问权限到派生类保持不变
16.以下错误的描述是(    )。函数调用可以          (满分:2)
    A. 出现在一个表达式中
    B. 出现在执行语句中
    C. 作为一个函数的实参
    D. 作为一个函数的形参
17.假定一个类的构造函数为“A(int aa,int bb){a = aa.b=aa*bb;)”,则执行“A x(4,5);”语句后,x.a和x.b的值分别为(    )。          (满分:2)
    A. 4和5
    B. 5和4
    C. 4和20
    D. 20和5
18.关于new运算符的描述中错误的是(    )。          (满分:2)
    A. 用它创建对象和堆对象数组
    B. 用它创建对象和堆对象数组时要调用相应的构造函数
    C. 用它创建对象和堆对象数组时可用运算符delete释放
    D. 用它创建堆对象数组时可指定初始值
19.一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明(    )。          (满分:2)
    A. 需要加上类域的限定
    B. 不需加上类域的限定
    C. 类域的限定可加可不加
    D. 不需要任何限定
20.(    )的功能是对象进行初始化。          (满分:2)
    A. 析构函数
    B. 数据成员
    C. 构造函数
    D. 静态成员函数
21.下列的各函数中,(    )不是类的成员函数。          (满分:2)
    A. 构造函数
    B. 析构函数
    C. 拷贝初始化构造函数
    D. 友元函数
22.类的析构函数的作用是(    )          (满分:2)
    A. 一般成员函数
    B. 类的初始化
    C. 对象初始化
    D. 删除对象
23.假定一个二维数组的定义语句为“ int a ={{3,4),{2,8,6));”,则元素a的值为(    )。          (满分:2)
    A. 2
    B. 4
    C. 6
    D. 8
24.假设已经定义好了一个类student,现在要定义类derived,它是从student私有派生的,定义类derived的正确写法是(    )。          (满分:2)
    A. “class derived::student prived {// …} ;”
    B. “class derived:student public{// …} ;”
    C. “class derived:private student{// …} ;”
    D. “class derived::student public stuednt {// …} ;”
25.函数没有返回值的时候,应该选择(    )的函数类型。          (满分:2)
    A. void
    B. int
    C. 不确定
    D. float
26.关于局部变量,下面说法正确的是(    )。          (满分:2)
    A. 定义该变量的程序文件中的函数都可以访问
    B. 定义该变量的函数中的定义处以下的任何语句都可以访问
    C. 定义该变量的复合语句中的定义处以下的任何语句都可以访问
    D. 定义该变量的函数中的定义处以上的任何语句都可以访问
27.下列运算符中,不能被重载的是(    )。          (满分:2)
    A. 【】
    B. .
    C.(    )
    D. /
28.下列函数中,(    )是对文件进行读操作的。          (满分:2)
    A. read(    )
    B. write(    )
    C. tellg(    )
    D. seekp(    )
29.下面关于析构函数特征的描述正确的是(    )。          (满分:2)
    A. 一个类中可以定义多个析构函数
    B. 析构函数名与类名相同
    C. 析构函数不能指定返回类型
    D. 析构函数可以有一个或多个参数
30.有关运算符重载正确的描述是(    )。          (满分:2)
    A. C++语言允许重载运算符时改变运算符的操作个数
    B. C++语言允许重载运算符时改变运算符的优先级
    C. C++语言允许重载运算符时改变运算符的结合性
    D. C++语言允许重载运算符时改变运算符原来的功能
二、多选题:
1.下面关于析构函数描述正确的是(    )          (满分:2)
    A. 系统可以提供默认的析构函数
    B. 析构函数必须由用户定义
    C. 析构函数没有参数
    D. 析构函数可以设置默认参数
2.下列函数中,可以作为虚函数的是(    )。          (满分:2)
    A. 普通函数
    B. 非静态成员函数
    C. 构造函数
    D. 析构函数
3.下面说法正确的是(    )          (满分:2)
    A. 将数据结构和算法置于同一个函数内,即为数据封装
    B. 一个类通过集成可以获得另一个类的特征
    C. 面向对象要求程序员集中于事物的本质特征,用抽象的观点看待程序
    D. 同一消息为不同的对象接受时,产生的行为是一样的,这称为一致性
4.继承是(    )的方法。          (满分:2)
    A. 将特殊的类变成通用的类
    B. 把通用的参数传送给特殊的类的对象
    C. 将通用的类变成特殊的类
    D. 将已有的类添加新的特性,但不重写它们
5.下面说法正确的是(    )          (满分:2)
    A. 所有的函数都可以说明为内置函数
    B. 具有循环语句、switch语句的函数不能说明为内置函数
    C. 使用内置函数,可以加快程序执行的速度,但会增加程序代码的大小
    D. 使用内置函数,可以减小程序代码大小,但使程序执行的速度减慢
三、判断题:
1.构造函数的定义必须在类体内 。(    )          (满分:2)
    A. 错误
    B. 正确
2.虚函数不能是类的静态成员。(    )          (满分:2)
    A. 错误
    B. 正确
3.子对象的初始化在其构造函数的成员初始化列表中实现。(    )          (满分:2)
    A. 错误
    B. 正确
4.常量不能作为左值使用。(    )          (满分:2)
    A. 错误
    B. 正确
5.使用const说明常量时,可以不必指出类型.(    )          (满分:2)
    A. 错误
    B. 正确
6.在类体内允许对数据成员进行初始化 。(    )          (满分:2)
    A. 错误
    B. 正确
7.在类的定义中,引入友元的原因是提高效率。(    )          (满分:2)
无忧工作室专业提供远程教育辅导

    A. 错误
    B. 正确
8.在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。(    )          (满分:2)
    A. 错误
    B. 正确
9.析构函数是不能重载的 。(    )          (满分:2)
    A. 错误
    B. 正确
10.多重继承中,派生类构造函数对其基类构造函数的执行顺序取决于它成员函数初始化表中说明的基类顺序。(    )          (满分:2)
    A. 错误
    B. 正确
11.静态数据成员的值是不能改变的 。(    )          (满分:2)
    A. 错误
    B. 正确
12.纯虚函数是一种不给出具体实现的虚函数。(    )          (满分:2)
    A. 错误
    B. 正确
13.成员函数中调用的虚函数可能实现动态联编。(    )          (满分:2)
    A. 错误
    B. 正确
14.在派生过程中,派生类吸收包括构造函数和析构函数在内的所有基类成员。(    )          (满分:2)
    A. 错误
    B. 正确
15.抽象类只能用作其他类的基类。(    )          (满分:2)
    A. 错误
    B. 正确
转载请注明出处无忧答案网www.ap5u.com



xll546848076 发表于 2017-5-15 12:11:48

需要解题参考资料,需要参考资料,需要参考资料,重要的事情说三遍!!
页: [1]
查看完整版本: 浙大17春《面向对象程序设计》在线作业参考答案