地大18秋《面向对象程序设计(新)》在线作业12资料
地大《面向对象程序设计(新)》在线作业一随机作业,核对题目,下载答案
1.[单选题]下面程序错误的语句是() ①#include ②voidmain() ③{ ④int*p=newint; ⑤p=9; ⑥cout<<*p< ⑦delete[]p⑧} (满分:)
A. ④ B. ⑤ C. ⑥ D. ⑦ 正确答案:——B——
2.[单选题]当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 (满分:)
A. ios::in B. ios::out C. ios::int|ios::ou
D. 没有
正确答案:——D——
3.[单选题]下列有关类继承的叙述中,错误的是() (满分:)
A. 继承可以实现软件复用
B. 虚基类可以解决由多继承产生的二义性问题
C. 派生类构造函数要负责调用基类的构造函数
D. 派生类没有继承基类的私有成员
正确答案:——D——
4.[单选题]类B是通过public继承方式从类A派生而来的,且类A和类B都有完整的实现代码,那么下列说法正确的是() (满分:)
A. 类B中具有pubic可访问性的成员函数个数一定不少于类A中public成员函数的个数
B. 一个类B的实例对象占用的内存空间一定不少于一个类A的实例对象占用的内存空间
C. 只要类B中的构造函数都是public的,在main函数中就可以创建类B的实例对象
D. 类A和类B中的同名虚函数的返回值类型必须完全一致
正确答案:————
5.[单选题]下面对于友元函数描述正确的是() (满分:)
A. 友元函数的实现必须在类的内部定义
B. 友元函数是类的成员函数
C. 友元函数破坏了类的封装性和隐藏性
D. 友元函数不能访问类的私有成员
正确答案:————
6.[单选题]决定C++语言中函数的返回值类型的是 (满分:)
A. return语句中的表达式类型
B. 调用该函数时系统随机产生的类型
C. 调用该函数时的主调用函数类型
D. 在定义该函数时所指定的数据类型
正确答案:————
7.[单选题]考虑函数原型voidtest(inta,intb=7,char="*"),下面的函数调用中,属于不合法调用的是() (满分:)
A. test(5);
B. test(5,8);
C. test(6,"#")
D. test(0,0."*");
正确答案:————
8.[单选题]有如下程序: #include classBASE{ charc; public: BASE(charn):c(n){} virtual~BASE(){cout<<C;} }; classDERIVED:publicBASE{ charc; public: DERIVED(charn):BASE(n+1),c(n){} ~DERIVED(){cout (满分:)
A. XY
B. YX
C. X
D. Y
正确答案:————
9.[单选题]不能作为重载函数的调用的依据是 (满分:)
A. 参数个数
B. 参数类型 离线作业答案
C. 函数类型
D. 函数名称
正确答案:————
10.[单选题]有如下类定义:classPoint{private;staticinthow_many;};____how_many=0;要初始化Point类的静态成员how_many,下划线处应填入的内容是() (满分:)
A. ing
B. staticint
C. intPoint::
D. staticintPoint::
正确答案:————
11.[单选题]下面程序的运行结果为()。#includeclassA{public:A(){cout<<”1”;}~A(){cout<<”2”;}}classB:publicA{public:B(){cout<<”3”;}~B(){cout<<”4”;}}voidmain() (满分:)
A. 1234
B. 1324
C. 1342
D. 3142
正确答案:————
12.[单选题]在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是() (满分:)
A. fail
B. eof
C. bad
D. good
正确答案:————
13.[单选题]有如下类和对象的定义:classConstants{public;staticdoublegetPI(){return3.1416;}};Constantsconstants;下列各组语句中,能输出3.1416的是() (满分:)
A. cout<<constants->getPI();和cout<<Constants::gerPI();
B. cout<<constants.getPI();和cout<<Constants.getPI();
C. cout<<constants->getPI();和cout<<Constants->getPI();
D. cout<<constants.getPI();和cout<<Constants::getPI();
正确答案:————
14.[单选题]下列哪种函数可以是虚的() (满分:)
A. 自定义的构造函数
B. 拷贝构造函数
C. 静态成员函数
D. 析构函数
正确答案:————
15.[单选题]C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是() (满分:)
A. 增加了一些新的运算符
B. 允许函数重载,并允许设置缺省参数
C. 规定函数说明符必须用原型
D. 引进了类和对象的概念
正确答案:————
二、多选题:
16.[多选题]下面关于指针变量和引用变量的说法正确的是 (满分:)
A. 指针变量存放的是内存地址,并且可以置为0
B. 定义引用变量时,必须同时指明具体被引用的对象或变量
C. 使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D. 类中的数据成员可以是指针变量,但不能是引用变量
正确答案:————
17.[多选题]模板定义中的类型参数可以用作() (满分:)
A. 局部变量类型
B. 函数参数类型
C. 函数返回值类型
D. 数据成员类型
正确答案:————
18.[多选题]关于异常和C++提供的异常处理机制正确的说法是() (满分:)
A. 若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现
B. 使用dynamic_cast操作符可能会产生异常
C. 异常可以用catch进行捕获处理
D. 异常可以是对象,也可以是普通整数
正确答案:————
19.[多选题]关于构造函数说法正确的是() (满分:)
A. 函数名只能是类名
B. 返回类型可以是任意的
C. 参数个数和类型可以是任意的
D. 在对象创建时自动调用
正确答案:————
20.[多选题]赋值运算符重载函数与拷贝构造函数的区别是什么() (满分:)
A. 都是拷贝一个类的对象给另一个同类型的类的对象
B. 拷贝构造函数是用已存在的对象的各成员的当前值来创建一个相同的新对象
C. 赋值运算符重载函数要把一个已存在对象的各成员的当前值赋给另一个已存在的同类对象
正确答案:————
三、判断题:
21.[判断题]函数体内声明的静态变量,至多只会被初始化一次 (满分:)
A. 错误
B. 正确
正确答案:————
22.[判断题]抽象类不可以继承,只能派生 (满分:)
A. 错误
B. 正确
正确答案:————
23.[判断题]对于同一个类中的两个非静态成员函数,它们的函数的名称、参数类型、参数个数、参数顺序以及返回值的类型不能完全相同 (满分:)
A. 错误
B. 正确
正确答案:————
24.[判断题]构造函数的初始化列表中的内容,不会影响构造对象中成员数据的初始化顺序。 (满分:)
A. 错误
B. 正确
正确答案:————
25.[判断题]构造函数和析构函数都可以重载 (满分:)
A. 错误
B. 正确
正确答案:————
地大《面向对象程序设计(新)》在线作业二
一、单选题:
1.[单选题]已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是() (满分:)
A. Valueoperator+(Valuev,inti);
B. Valueoperator+(Valuev=value,inti);
C. Valueoperator+(Valuevinti=0);
D. Valueoperator+(Valuev=value,inti=0);
正确答案:——B——
2.[单选题]判断一个ofstream类对象file打开文件是否失败,应该判断() (满分:)
A. 创建文件流对象时是否抛出异常
B. open成员函数的返回值
C. feof成员函数的返回值
D. !file是否为真
正确答案:——D——
3.[单选题]有如下类和对象的定义:classConstants{public;staticdoublegetPI(){return3.1416;}};Constantsconstants;下列各组语句中,能输出3.1416的是() (满分:)
A. cout<<constants->getPI();和cout<<Constants::gerPI();
B. cout<<constants.getPI();和cout<<Constants.getPI();
C. cout<<constants->getPI();和cout<<Constants->getPI();
D. cout<<constants.getPI();和cout<<Constants::getPI();
正确答案:——D——
4.[单选题]有如下类定义:classMyClass{Intvalue;public;MyClass(intn):value(n){}intgerValue()const{returnvalue;}};则类MyClass的构造函数的个数是() (满分:)
A. 1个
B. 2个
C. 3个
D. 4个
正确答案:————
5.[单选题]下面程序错误的语句是() ①#include ②voidmain() ③{ ④int*p=newint; ⑤p=9; ⑥cout<<*p< ⑦delete[]p⑧} (满分:)
A. ④
B. ⑤
C. ⑥
D. ⑦
正确答案:————
6.[单选题]在C++语言中,数据封装要解决的问题是() (满分:)
A. 数据的规范化
B. 便于数据转换
C. 避免数据丢失
D. 防止不同模块之间数据的非法访问
正确答案:————
7.[单选题]当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 (满分:)
A. ios::in
B. ios::out
C. ios::int|ios::out
D. 没有
正确答案:————
8.[单选题]不能作为重载函数的调用的依据是 (满分:)
A. 参数个数
B. 参数类型
C. 函数类型
D. 函数名称
正确答案:————
9.[单选题]类B是通过public继承方式从类A派生而来的,且类A和类B都有完整的实现代码,那么下列说法正确的是() (满分:)
A. 类B中具有pubic可访问性的成员函数个数一定不少于类A中public成员函数的个数
B. 一个类B的实例对象占用的内存空间一定不少于一个类A的实例对象占用的内存空间
C. 只要类B中的构造函数都是public的,在main函数中就可以创建类B的实例对象
D. 类A和类B中的同名虚函数的返回值类型必须完全一致
正确答案:————
10.[单选题]有如下程序:#include<iostream>usingnamespacestd;classGA{public;virtualintf(){retuml;}};classGB:publicGA{public;virtualintf(){return2;}};voidshow(GAg){cout<<g.f();}voiddisplay(GA&g){cout<<g.f();}intmain(){GAa:show(a);display(a); (满分:)
A. 1111
B. 1211
C. 1112
D. 1212
正确答案:————
11.[单选题]在每个C++程序中都必须包含有这样一个函数,该函数的函数名为() (满分:)
A. main
B. MAIN
C. name
D. Function
正确答案:————
12.[单选题]下列有关C++流的叙述中,错误的是() (满分:)
A. C++操作符setw设置的输出宽度永久有效
B. C++操作符endl可以实现输出的回车换行
C. 处理文件I/O时,要包含头文件fstream
D. 进行输入操作时,eof()函数用于检测是否到达文件尾
正确答案:————
13.[单选题]类的析构函数的作用是() (满分:)
A. 一般成员函数的初始化
B. 类的初始化
C. 对象的初始化
D. 删除类创建的对象
正确答案:————
14.[单选题]下列程序的输出结果为()#includevoidmain(){char,a[]={”hello",”the",”world”};char**pa=a:pa++;cout<<*pa<} (满分:)
A. hello
B. the
C. world
D. hellotheworld
正确答案:————
15.[单选题]有如下程序: #include classBASE{ charc; public: BASE(charn):c(n){} virtual~BASE(){cout<<C;} }; classDERIVED:publicBASE{ charc; public: DERIVED(charn):BASE(n+1),c(n){} ~DERIVED(){cout (满分:)
A. XY
B. YX
C. X
D. Y
正确答案:————
二、多选题:
16.[多选题]赋值运算符重载函数与拷贝构造函数的区别是什么() (满分:)
A. 都是拷贝一个类的对象给另一个同类型的类的对象
B. 拷贝构造函数是用已存在的对象的各成员的当前值来创建一个相同的新对象
C. 赋值运算符重载函数要把一个已存在对象的各成员的当前值赋给另一个已存在的同类对象
正确答案:————
17.[多选题]下列运算符中,在C++语言中能重载的是() (满分:)
A. *
B. )>=
C. ::
D. /
正确答案:————
18.[多选题]在类的静态成员函数的实现体中,可以访问或调用() (满分:)
A. 本类中的静态数据成员
B. 本类中非静态的常量数据成员
C. 本类中其它的静态成员函数
D. 本类中非静态的成员函数
正确答案:————
19.[多选题]下面关于指针变量和引用变量的说法正确的是 (满分:)
A. 指针变量存放的是内存地址,并且可以置为0
B. 定义引用变量时,必须同时指明具体被引用的对象或变量
C. 使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D. 类中的数据成员可以是指针变量,但不能是引用变量
正确答案:————
20.[多选题]下列有关抽象类和纯虚函数的叙述中,错误的是() (满分:)
A. 拥有纯虚函数的类是抽象类,能用来定义对象
B. 抽象类的派生类若不实现纯虚函数,它也是抽象类
C. 纯虚函数的声明以“=0;”结束
D. 纯虚函数都不能有函数体
正确答案:————
三、判断题:
21.[判断题]类A是类B的友元,则类B一定是类A的友元 (满分:)
A. 错误
B. 正确
正确答案:————
22.[判断题]面向对象程序设计中,消息应该包含如何做的信息 (满分:)
A. 错误
B. 正确
正确答案:————
23.[判断题]名字空间是可以多层嵌套的;对于类A中的函数成员和数据成员,它们都属于类名A代表的一层名字空间。 (满分:)
A. 错误
B. 正确
正确答案:————
24.[判断题]对于同一个类中的两个非静态成员函数,它们的函数的名称、参数类型、参数个数、参数顺序以及返回值的类型不能完全相同 (满分:)
A. 错误
B. 正确
正确答案:————
25.[判断题]内联inline函数表示编译器一定会将函数体直接插入到调用此函数的地方,这样可以加快程序的运行速度。 (满分:)
A. 错误
B. 正确
正确答案:————
无忧答案网附件是答案
页:
[1]