南开18秋(1709、1803、1809)《面向对象程序设计》在线作业...
18秋学期(1709、1803、1809)《面向对象程序设计》在线作业核对题目下载答案
1.[单选题]下列关于主函数的叙述中正确的是()。 (满分:)
A. 一个程序可以有多个主函数 B. 程序从主函数开始执行
C. 一个程序可以没有主函数 D. 主函数是一个特殊的函数,因此其结构与其他函数不同
正确答案:——B——
2.[单选题]如果类A被说明成类B的友元,则()。 (满分:)
A. 类A的成员函数不得访问类B的所有成员
B. 类A的成员函数可以访问类B的所有成员
C. 类A的成员即类B的成员
D. 类B的成员即类A的成员
正确答案:——B——
3.[单选题]在一个C++源文件中使用了cin和cout,那么在这个源文件中必须包含()文件。 (满分:)
A. iostream
B. fstream
C. stdio.h
D. stdlib.h
正确答案:——A——
4.[单选题]任意一个类,析构函数的个数最多是()。 (满分:)
A. 不限个数
B. 1
C. 2
D. 3
正确答案:————
5.[单选题]下列表示引用的方法中,()是正确的。已知:intk=1000; (满分:)
A. int&x=k;
B. char&y;
C. int&z=1000;
D. float&t=&k;
正确答案:————
6.[单选题]下面描述中,错误的是()。 (满分:)
A. 公有继承时,基类中的public成员在派生类中仍是public的
B. 公有继承时,基类中的private成员在派生类中仍是private的
C. 公有继承时,基类中的protected成员在派生类中仍是protected的
D. 私有继承时,基类中的public成员在派生类中是private的
正确答案:————
7.[单选题]()是析构函数的特征。 (满分:)
A. 析构函数可以有一个或多个参数
B. 析构函数定义只能在类体内
C. 析构函数名与类名不同
D. 一个类中只能定义一个析构函数
正确答案:————
8.[单选题]设置虚基类的目的是()。 (满分:)
A. 简化程序
B. 消除二义性
C. 提高运行效率
D. 减少目标代码
正确答案:————
9.[单选题]由于数据隐藏的需要,静态数据成员通常被说明为()。 (满分:)
A. 私有的
B. 公有的 无忧答案网
C. 保护的
D. 不可访问的
正确答案:————
10.[单选题]对A、B两个类进行多重继承得到派生类C,则创建派生类C的对象时,从基类B中继承过来的成员变量由()类的构造函数进行初始化。 (满分:)
A. A
B. B
C. C
D. 都可以
正确答案:————
11.[单选题]下列对重载函数的描述中,()是错误的。 (满分:)
A. 重载函数中不允许使用默认参数
B. 重载函数中编译时根据参数表进行选择
C. 不要使用重载函数来描述毫无相干的函数
D. 构造函数重载将会给初始化带来多种方式
正确答案:————
12.[单选题]下列运算符中,()在C++中不能重载。 (满分:)
A. ?:
B. +
C. -
D. <=
正确答案:————
13.[单选题]关于函数的描述中,()是正确的。 (满分:)
A. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型
B. 基类中说明了虚函数后,派生类中其对应的函数一定要说明为虚函数
C. 虚函数是一个成员函数
D. 虚函数是一个static类型的成员函数
正确答案:————
14.[单选题]对于任意一个类,析构函数的个数最多为()。 (满分:)
A. 0
B. 1
C. 2
D. 3
正确答案:————
15.[单选题]()是一个在基类中说明虚函数,它在该基类中没有定义,但要求任何派生类中的可访问性的规定是相同的。 (满分:)
A. 纯虚函数
B. 虚析构函数
C. 虚构造函数
D. 静态成员函数
正确答案:————
16.[单选题]在C++中,能被派生类继承的函数是()。 (满分:)
A. 成员函数
B. 构造函数
C. 析构函数
D. 拷贝构造函数
正确答案:————
17.[单选题]下列关于成员函数特征的描述中,错误的是()。 (满分:)
A. 成员函数一定是内联函数
B. 成员函数可以重载
C. 成员函数可以设置参数的默认值
D. 成员函数可以是静态的
正确答案:————
18.[单选题]下列关于类的继承描述中,()是错误的。 (满分:)
A. 派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数
B. 派生类也是基类,但基类不一定具有派生类的全部属性和方法
C. 继承描述类的层次关系,派生类可以具有与基类相同的属性和方法
D. 一个基类可以有多个派生类,一个派生类可以有多个基类
正确答案:————
19.[单选题]下列关于C++类的描述中错误的是()。 (满分:)
A. 类与类之间可以通过一些手段进行通信和联络
B. 类用于描述事物的属性和对事物的操作
C. 类与类之间必须是平等的关系,而不能组成层次关系
D. 类与类之间可以通过封装而具有明确的独立性
正确答案:————
20.[单选题]下面对构造函数的不正确描述是()。 (满分:)
A. 系统可以提供默认的构造函数
B. 构造函数可以有参数,所以可以有返回值
C. 构造函数可以重载
D. 构造函数可以设置默认参数
正确答案:————
21.[单选题]在一个string类对象表示的字符串中查找子串,应该使用string类的()函数。 (满分:)
A. assign
B. insert
C. swap
D. find
正确答案:————
22.[单选题]关于类模板,描述错误的是()。 (满分:)
A. 一个普通基类不能派生类模板
B. 类模板从普通类派生,也可以从类模板派生
C. 根据建立对象时的实际数据类型,编译器把类模板实例化为模板类
D. 函数的类模板参数须通过构造函数实例化
正确答案:————
23.[单选题]结构化程序设计方法以()为中心进行分析和设计。 (满分:)
A. 结构
B. 模块
C. 对象
D. 类
正确答案:————
24.[单选题]程序在调用重载函数时,根据()区分到底要调用哪个函数。 (满分:)
A. 函数名
B. 返回值类型
C. 参数个数和类型
D. 以上都可以
正确答案:————
25.[单选题]关于对象成员的构造函数的调用顺序,说法正确的是()。 (满分:)
A. 与它们在成员初始化列表中给出的顺序相同
B. 与析构函数的调用顺序相同
C. 与它们在类中说明顺序相同
D. 以上说法都不对
正确答案:————
26.[单选题]若类A和类B的定义如下:classA{inti,j;public:voidget();};classB:A//默认为私有派生{intk;public;voidmake();};voidB::make(){k=i*j;}则上述定义中,()是非法的表达式。 (满分:)
A. voidget();
B. intk;
C. voidmake();
D. k=i*j;
正确答案:————
27.[单选题]包含类fstream定义的头文件是()。 (满分:)
A. fstream
B. ofstream
C. ifstream
D. iostream
正确答案:————
28.[单选题]下列关于构造函数调用顺序的描述中,正确的是()。 (满分:)
A. 创建派生类对象时,先调用基类的构造函数,后调用派生类的构造函数
B. 创建基类对象时,先调用基类的构造函数,后调用派生类的构造函数
C. 创建派生类对象时,先调用派生类的构造函数,后调用基类的构造函数
D. 创建基类对象时,先调用派生类的构造函数,后调用基类的构造函数
正确答案:————
29.[单选题]有关析构函数的说法正确的是()。 (满分:)
A. 析构函数可以有多个
B. 析构函数和构造函数一样可以有形参
C. 析构函数的功能是用来释放一个对象
D. 析构函数的函数类型为void
正确答案:————
30.[单选题]下列关于构造函数说法不正确的是()。 (满分:)
A. 构造函数必须与类同名
B. 构造函数可以省略不写
C. 构造函数必须有返回值
D. 在构造函数中可以对类中的成员进行初始化
正确答案:————
31.[单选题]关于动态关联的下列叙述中,()是错误的。 (满分:)
A. 动态关联是以虚函数为基础的
B. 动态关联调用虚函数操作是指向对象的指针或引用
C. 动态关联是在运行时确定所调用的函数代码的
D. 动态关联是在编译时确定操作函数的
正确答案:————
32.[单选题]关于纯虚函数,下列表述正确的是()。 (满分:)
A. 纯虚函数是未给出实现版本(即无函数体定义)的虚函数
B. 纯虚函数的声明总是以“=0”结束
C. 派生类必须实现基类的纯虚函数
D. 含有纯虚函数的类一定是派生类
正确答案:————
33.[单选题]下列关于虚函数的说明中,正确的是()。 (满分:)
A. 从虚基类继承的函数都是虚函数
B. 虚函数不得是静态成员函数
C. 只能通过指针或引用调用虚函数
D. 抽象类中的成员函数都是虚函数
正确答案:————
34.[单选题]在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是()。 (满分:)
A. 派生类的对象可以赋给基类对象
B. 派生类的对象可以初始化基类的引用
C. 派生类的对象可以直接访问基类的成员
D. 派生类的对象的地址可以赋给指向基类的指针
正确答案:————
35.[单选题]以成员函数方式重载运算符“>”,则obj1>obj2被C++编译器解释为()。 (满分:)
A. operator>(obj1,obj2)
B. >(obj1,obj2)
C. obj1.operator>(obj2)
D. obj2.operator>(obj1)
正确答案:————
三、判断题:
36.[判断题]使用模板可以减少重复劳动,提高代码重用率。 (满分:)
T. 对
F. 错
正确答案:————
37.[判断题]int*p=newint;表示为指针变量p分配了一个int型元素空间,并将该片内存空间的值初始化为5。 (满分:)
T. 对
F. 错
正确答案:————
38.[判断题]类模板可以生成若干个模板类,每个模板类又可定义若干个对象。 (满分:)
T. 对
F. 错
正确答案:————
39.[判断题]调试主要是为了解决源程序编译连接时产生的错误。 (满分:)
T. 对
F. 错
正确答案:————
40.[判断题]定义一个虚基类后,则该虚基类后继类层次中的类都需要调用虚基类的构造函数对虚基类中定义的成员变量进行初始化。 (满分:)
A. 错误
B. 正确
正确答案:————
41.[判断题]C++中用户定义的标识符可以与系统关键字同名。 (满分:)
T. 对
F. 错
正确答案:————
42.[判断题]一个类的静态数据成员被该类的所有对象共享。 (满分:)
A. 错误
B. 正确
正确答案:————
43.[判断题]对虚函数的调用,系统都是采用动态联编。 (满分:)
A. 错误
B. 正确
正确答案:————
44.[判断题]以友元方式重载运算符时,形参列表中至少有一个参数必须是自定义数据类型。 (满分:)
A. 错误
B. 正确
正确答案:————
45.[判断题]C++语言类定义中默认的访问权限是public。 (满分:)
A. 错误
B. 正确
正确答案:————
46.[判断题]C++中ostream类的直接基类是ios。 (满分:)
T. 对
F. 错
正确答案:————
47.[判断题]使用指向对象的指针来访问类的成员,则必须使用的运算符是->。 (满分:)
T. 对
F. 错
正确答案:————
48.[判断题]类成员的三种访问控制属性是public、private和friend。 (满分:)
T. 对
F. 错
正确答案:————
49.[判断题]a为MyClass类对象,“staticvoidSetRate(doubler){...}”是MyClass类的静态成员函数,则执行语句“a.SetRate(0.05);”时,SetRate成员函数中的this指针指向对象a的地址。 (满分:)
A. 错误
B. 正确
正确答案:————
50.[判断题]重载函数可以带默认参数值,但要注意二义性。 (满分:)
T. 对
F. 错
正确答案:————
附件是答案,需要的自助下载,q761296021
页:
[1]