南开18秋学期(清考)《面向对象程序设计》在线作业
18秋学期(清考)《面向对象程序设计》在线作业无忧答案网 核对题目下线答案
一、单选题:
1.[单选题]抽象类的作用主要是()。 (满分:)
A. 直接用作基类
B. 直接用作指针
C. 引用的基类型
D. 包括以上各项
正确答案:——D——
2.[单选题]运算符delete删除一个动态对象时()。 (满分:)
A. 首先为该动态对象调用构造函数,再释放其占用的内存
B. 首先释放该动态对象占用的内存,再为其调用构造函数
C. 首先为该动态对象调用析构函数,再释放其占用的内存
D. 首先释放动态对象占用的内存,再为其调用析构函数
正确答案:——C——
3.[单选题]C++有()种联编方式。 (满分:)
A. 1
B. 2
C. 3
D. 4
正确答案:——B——
4.[单选题]多继承的构造函数顺序可分为如下4步:\n①所有非虚基类的构造函数按照它们被继承的顺序构造。\n②所有虚基类的构造函数按照它们被继承的顺序构造。\n③所有子对象的构造函数按照它们声明的顺序构造。\n④派生类自己的构造函数体\n这四个步骤的正确顺序是()。 (满分:)
A. ④③①②
B. ②④③①
C. ②①③④
D. ③④①②
正确答案:————
5.[单选题]友元运算符obj1>obj2被C++编译器解释为()。 (满分:)
A. operator>(obj1,obj2)
B. >(obj1,obj2)
C. jobj2.operator>(obj1)
D. obj1.operator(obj2)
正确答案:————
6.[单选题]如果一个类至少有一个纯虚函数,那么就称该类是()。 (满分:)
A. 抽象类
B. 虚基类
C. 派生类
D. 以上都不对
正确答案:————
7.[单选题]下列关于动态联编的描述中,错误的是()。 (满分:)
A. 动态联编是以虚函数为基础的
B. 动态联编是在运行时确定所调用的函数代码的
C. 动态联编调用函数操作是通过指向对象的指针或对象
D. 动态联编是在编译时确定操作函数的
正确答案:————
8.[单选题]下列运算符中,()运算符在C++中不能重载。 (满分:)
A. ?:
B. +
C. -
D. =
正确答案:————
9.[单选题]运算符重载的目的是()。 (满分:)
A. 提高程序的效率
B. 提高代码复用能力
C. 简化程序,减少目标代码
D. 使程序代码直观易读
正确答案:————
10.[单选题]交换两个string类对象所表示的字符串的内容,应该使用string类的()函数。 (满分:)
A. assign
B. insert
C. swap
D. find
正确答案:———— 南开
11.[单选题]在C++中,能被派生类继承的函数是()。 (满分:)
A. 成员函数
B. 构造函数
C. 析构函数
D. 拷贝构造函数
正确答案:————
12.[单选题]下列关于拷贝构造函数的描述中,错误的是()。 (满分:)
A. 一个类可以定义多个拷贝构造函数
B. 若未定义拷贝构造函数,则系统会提供一个默认拷贝构造函数
C. 当类中有指针成员变量时,通常要为这个类定义一个拷贝构造函数来实现深拷贝
D. 拷贝构造函数中的参数按引用方式传递
正确答案:————
13.[单选题]下列关于成员函数特征的描述中,错误的是()。 (满分:)
A. 成员函数一定是内联函数
B. 成员函数可以重载
C. 成员函数可以设置参数的默认值
D. 成员函数可以是静态的
正确答案:————
14.[单选题]关于虚函数,下列表述正确的是()。 (满分:)
A. 如果在重定义虚函数时使用virtual,则该重定义函数仍然是虚函数
B. 虚函数不得声明为静态函数
C. 虚函数不得声明为另一个类的友元函数
D. 派生类必须重新定义基类的虚函数
正确答案:————
15.[单选题]在C++中,打开一个文件就是将这个文件与一个()建立关联;关闭一个文件就是取消这种关联。 (满分:)
A. 流
B. 类
C. 结构
D. 对象
正确答案:————
16.[单选题]已知AA是一个类,则执行语句AAa;后()。 (满分:)
A. 自动调用无参构造函数
B. 自动调用有参构造函数
C. 自动调用拷贝构造函数
D. 产生一个对象a,但不调用任何函数
正确答案:————
17.[单选题]下列关于主函数的叙述中正确的是()。 (满分:)
A. 一个程序可以有多个主函数
B. 程序从主函数开始执行
C. 一个程序可以没有主函数
D. 主函数是一个特殊的函数,因此其结构与其他函数不同
正确答案:————
18.[单选题]在使用类创建对象时,系统会自动调用该对象的()完成对象中数据成员的初始化等操作。 (满分:)
A. 友元函数
B. 虚函数
C. 构造函数
D. 析构函数
正确答案:————
19.[单选题]已知类X中的一个成员函数说明如下:\nVoidSet(X&a);其中,X&a的含义是()。 (满分:)
A. a是指向X类对象的指针,用来作为Set()的形参
B. 将a的地址传递给Set()函数
C. a是X类对象的引用,用来做为Set()的形参
D. 以上都不对
正确答案:————
20.[单选题]在一个C++源文件中使用了cin和cout,那么在这个源文件中必须包含()文件。 (满分:)
A. iostream
B. fstream
C. stdio.h
D. stdlib.h
正确答案:————
21.[单选题]假定MyClass为一类,执行MyClassa,b(2),*p;语句时会自动调用该类构造函数()次。 (满分:)
A. 2
B. 3
C. 4
D. 5
正确答案:————
22.[单选题]不同的对象可以调用相同名称的函数,并可导致完全不同的行为的现象称为()。 (满分:)
A. 多态性
B. 抽象
C. 继承
D. 封装
正确答案:————
23.[单选题]运行以下程序时,如果由键盘输入6514,则输出结果是()。\n#include<iostream>\nusingnamespacestd;\nintmain()\n{intm,n;\ncout<<\Inputm,n:\;\ncin>>m>>n;\nwhile(m!=n)\n{\nwhile(m>n)m-=n;\nwhile(n>m)n-=m;\n}\ncout<<m<<endl;\nreturn0;\n} (满分:)
A. 3
B. 2
C. 1
D. 0
正确答案:————
24.[单选题]不论派生类以何种方法继承基类,都不能使用基类的()。 (满分:)
A. public成员
B. private成员
C. protected成员
D. private成员和protected成员
正确答案:————
25.[单选题]关于纯虚函数和抽象类的描述中,错误的是()。 (满分:)
A. 纯虚函数是一种特殊的虚函数,它没有具体的实现。
B. 抽象类是指具有纯虚函数的类。
C. 一个基类中有纯虚函数,该类的派生类一定不再是抽象类。
D. 抽象类作为基类来使用,其纯虚函数的实现由派生类给出。
正确答案:————
26.[单选题]read函数的功能是从输入流中读取()。 (满分:)
A. 一个字符
B. 当前字符
C. 一行字符
D. 指定若干个字符
正确答案:————
27.[单选题]类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将()。 (满分:)
A. 调用类A中是函数func()
B. 调用类B中是函数func()
C. 根据P所指的对象类型而确定调用A中或类B中的函数func()
D. 既调用类A中函数,也调用类B中的函数
正确答案:————
28.[单选题]进行文件操作时需要包含_\n()头文件。 (满分:)
A. iostream
B. fstream
C. stdio
D. stdlib
正确答案:————
29.[单选题]关于多继承二义性的描述中,错误的是()。 (满分:)
A. 一个派生类的基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性
B. 解决二义性的最常用的方法是对成员名的限定法
C. 基类和派生类同时出现的同名函数,也存在二义性问题
D. 一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性
正确答案:————
30.[单选题]关于函数的描述中,()是正确的。 (满分:)
A. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型
B. 基类中说明了虚函数后,派生类中其对应的函数一定要说明为虚函数
C. 虚函数是一个成员函数
D. 虚函数是一个static类型的成员函数
正确答案:————
31.[单选题]在下列关键字中,用以说明类中公有成员的是()。 (满分:)
A. public
B. private
C. protected
D. friend
正确答案:————
32.[单选题]有如下类声明:\nclassSample{intx;};\n则Sample类成员x是Sample类的()。 (满分:)
A. 公有数据成员
B. 保护数据成员
C. 私有数据成员
D. 以上选项都不正确
正确答案:————
33.[单选题]下列描述中,()是抽象类的特性。 (满分:)
A. 可以说明虚函数
B. 可以定义友元函数
C. 可以进行构造函数重载
D. 不能说明其对象
正确答案:————
34.[单选题]有关带默认参数的函数的描述正确的是()。 (满分:)
A. 只能在函数定义时设置默认参数值
B. 只能在函数声明时设置默认参数值
C. 函数调用时,必须使用默认的参数值,不能给出新的实参值
D. 设置默认参数时,应该设置最右边的若干个参数的默认值
正确答案:————
35.[单选题]下列的模板说明中,正确的是()。 (满分:)
A. template
B. template
C. template
D. template
正确答案:————
三、判断题:
36.[判断题]纯虚函数是一种特殊的成员函数,它是一种没有具体实现的虚函数。 (满分:)
T. 对
F. 错
正确答案:————
37.[判断题]一个函数模板只生成一个模板函数。 (满分:)
T. 对
F. 错
正确答案:————
38.[判断题]C语言中scanf命令在c++中改用cin。 (满分:)
T. 对
F. 错
正确答案:————
39.[判断题]一个类的静态数据成员被该类的所有对象共享。 (满分:)
A. 错误
B. 正确
正确答案:————
40.[判断题]类的常量数据成员的值只能在创建对象时初始化,初始化后不得再修改。 (满分:)
T. 对
F. 错
正确答案:————
41.[判断题]通过C++语言中类的继承机制,可以扩充和完善已有类以适应新的需求。 (满分:)
T. 对
F. 错
正确答案:————
42.[判断题]设在程序中使用如下语句申请了一个对象数组:Point*ptr=newPoint;当要释放ptr指向的动态数组对象时,所使用的语句是deleteptr。 (满分:)
T. 对
F. 错
正确答案:————
43.[判断题]函数的定义不可以嵌套,类的定义可以嵌套。 (满分:)
T. 对
F. 错
正确答案:————
44.[判断题]拷贝构造函数通常使用已有对象的引用来初始化创建中的对象。 (满分:)
T. 对
F. 错
正确答案:————
45.[判断题]假定AB为一个类,则执行ABa(10);语句时,系统自动调用该类的构造函数的次数为10。 (满分:)
T. 对
F. 错
正确答案:————
46.[判断题]在私有继承中,基类中只有公有成员对派生类是可见的。 (满分:)
T. 对
F. 错
正确答案:————
47.[判断题]a为MyClass类对象,“staticvoidSetRate(doubler){...}”是MyClass类的静态成员函数,则执行语句“a.SetRate(0.05);”时,SetRate成员函数中的this指针指向对象a的地址。 (满分:)
A. 错误
B. 正确
正确答案:————
48.[判断题]抽象类不能定义对象,但可以声明抽象类的指针或引用。 (满分:)
A. 错误
B. 正确
正确答案:————
49.[判断题]在保护继承中,对于派生类的访问同于公有继承,而对于派生类的对象的访问同于私有继承。 (满分:)
T. 对
F. 错
正确答案:————
50.[判断题]在面向对象程序设计中,每个对象可以单独设置属性值。 (满分:)
T. 对
F. 错
正确答案:————
附件是答案,核对题目下载,q761296021
页:
[1]