南开大学22秋学期(高起本1709-1803、全层次1809-2103)《面向对象程序设计》在线作业三

奥鹏南开在线作业满分答案参考

22秋学期(高起本1709-1803、全层次1809-2103)《面向对象程序设计》在线作业-00003

1.不论派生类以何种方法继承基类,都不能使用基类的( )。
选项A:public成员
选项B:private成员
选项C:protected成员
选项D:private成员和protected成员
满分答案问询微信:424329

2.若类A和类B的定义如下: class A { int i,j; public: void get(); }; class B:A//默认为私有派生 { int k; public; void make(); }; void B:: make() { k=i*j; } 则上述定义中,()是非法的表达式。
选项A:void get();
选项B:int k;
选项C:void make();
选项D:k=i*j;
满分答案问询微信:424329

3.下列关于对象数组的描述中,错误的是( )。
选项A:对象数组的下标是从0开始的
选项B:对象数组的数组名是一个常量指针
选项C:对象数组的每个元素是同一个类的对象
选项D:对象数组只能赋初值,而不能在定义后赋值
满分答案问询微信:424329

4.若一个类中含有纯虚函数,则该类称为( )。
选项A:基类
选项B:纯基类
选项C:派生类
选项D:抽象类
满分答案问询微信:424329

5.下列运算符中,()运算符在C++中不能重载。
选项A:?:
选项B:+
选项C:-
选项D:=
满分答案问询微信:424329

6.以下为重载函数的一组函数声明的是()。
选项A:void print(int); void print(double);
选项B:void fun(int); int fun(int);
选项C:int max(int,int); int min(int,int);
选项D:void mm(); int mm();
满分答案问询微信:424329

7.下列( )是构造函数的特征。
选项A:构造函数在创建对象时自动调用
选项B:构造函数不可以重载
选项C:构造函数不可以设置默认参数
选项D:构造函数必须指定函数类型
满分答案问询微信:424329

8.类对象占用内存的大小与()有关。
选项A:数据成员
选项B:成员函数
选项C:数据成员和成员函数
选项D:私有成员
满分答案问询微信:424329

9.已知X类.则当程序执行到语句X *array[3];时,调用了( )次构造函数。
选项A:0
选项B:1
选项C:2
选项D:3
满分答案问询微信:424329

10.运算符delete删除一个动态对象时( )。
选项A:首先为该动态对象调用构造函数,再释放其占用的内存
选项B:首先释放该动态对象占用的内存,再为其调用构造函数
选项C:首先为该动态对象调用析构函数,再释放其占用的内存
选项D:首先释放动态对象占用的内存,再为其调用析构函数
满分答案问询微信:424329

11.撤消对象时,系统自动调用( )函数。
选项A:成员函数
选项B:构造函数
选项C:析构函数
选项D:普通函数
满分答案问询微信:424329

12.关于函数的描述中,()是正确的。
选项A:派生类的虚函数与基类的虚函数具有不同的参数个数和类型
选项B:基类中说明了虚函数后,派生类中其对应的函数一定要说明为虚函数
选项C:虚函数是一个成员函数
选项D:虚函数是一个static类型的成员函数
满分答案问询微信:424329

13.面向对象程序设计思想的主要特征中不包括( )。
选项A:封装性
选项B:多态性
选项C:继承性
选项D:功能分解,逐步求精
满分答案问询微信:424329

14.在一个C++源文件中使用了cin和cout,那么在这个源文件中必须包含()文件。
选项A:iostream
选项B:fstream
选项C:stdio.h
选项D:stdlib.h
满分答案问询微信:424329

15.下列关于赋值运算符重载的说法中正确的是()。
选项A:返回值一般是以引用方式返回的对象,而函数体中总是用语句“return *this;”返回this指针所指向的对象
选项B:赋值运算符只能以非成员函数的方式重载
选项C:赋值运算符既可以以成员函数的方式重载,又可以以非成员函数的方式重载
选项D:以上均不正确
满分答案问询微信:424329

16.关于对象成员的构造函数的调用顺序,说法正确的是( )。
选项A:与它们在成员初始化列表中给出的顺序相同
选项B:与析构函数的调用顺序相同
选项C:与它们在类中说明顺序相同
选项D:以上说法都不对
满分答案问询微信:424329

17.this指针是C++实现( )的一种机制。
选项A:抽象
选项B:封装
选项C:继承
选项D:重载
满分答案问询微信:424329

18.下面叙述不正确的是( )。
选项A:基类的保护成员在派生类中仍然是保护的
选项B:基类的保护成员在公有派生类中仍然是保护的
选项C:基类的保护成员在私有派生类中是私有的
选项D:对基类成员的访问必须是无二义性
满分答案问询微信:424329

19.下面关于对象概念的描述中,( )是错误的。
选项A:对象就是C语言中的结构变量
选项B:对象代表着正在创建的系统中的一个实体
选项C:对象是一个状态和操作(或方法)的封装体
选项D:对象之间的信息传递是通过消息进行的
满分答案问询微信:424329

20.静态数据成员初始化在()进行,而且前面不加static,以免与一般静态变量或对象相混淆。
选项A:类体内
选项B:类体外
选项C:构造函数内
选项D:内联函数内
满分答案问询微信:424329

21.若类中有指针成员变量,则应编写(),使得在对象销毁时能够自动调用该函数释放指针成员变量所指向的内存空间。
选项A:友元函数
选项B:虚函数
选项C:构造函数
选项D:析构函数
满分答案问询微信:424329

22.将一个函数声明为某类的友元函数后,则在函数中不可以直接访问该类的()。
选项A:公有成员
选项B:私有成员
选项C:保护成员
选项D:都可访问
满分答案问询微信:424329

23.关于动态关联的下列叙述中,()是错误的。
选项A:动态关联是以虚函数为基础的
选项B:动态关联调用虚函数操作是指向对象的指针或引用
选项C:动态关联是在运行时确定所调用的函数代码的
选项D:动态关联是在编译时确定操作函数的
满分答案问询微信:424329

24.在C++标准模板库中,vector容器是一种( )。
选项A:标准类
选项B:标准对象
选项C:标准函数
选项D:标准类模板
满分答案问询微信:424329

25.用于类中虚成员函数说明的关键字( )。
选项A:virtual
选项B:public
选项C:protected
选项D:private
满分答案问询微信:424329

26.关于类模板,描述错误的是( )。
选项A:一个普通基类不能派生类模板
选项B:类模板从普通类派生,也可以从类模板派生
选项C:根据建立对象时的实际数据类型,编译器把类模板实例化为模板类
选项D:函数的类模板参数须通过构造函数实例化
满分答案问询微信:424329

27.对于任意一个类,构造函数的个数最少为( )。
选项A:0
选项B:1
选项C:2
选项D奥鹏南开在线作业满分答案参考:3
满分答案问询微信:424329

28.下列描述中,()是抽象类的特性。
选项A:可以说明虚函数
选项B:可以定义友元函数
选项C:可以进行构造函数重载
选项D:不能说明其对象
满分答案问询微信:424329

29.若定义cin>>str;当输入 Microsoft Visual Studio 6.0!
所得的结果是str=
()。
选项A:Microsoft Visual Studio 6.0!
选项B:Microsoft
选项C:Microsoft Visual
选项D:Microsoft Visual Studio 6.0
满分答案问询微信:424329

30.空类的声明( )是正确的。
选项A:class类名;
选项B:class类名{};
选项C:class类名{}
选项D:class类名
满分答案问询微信:424329

31.下列关于类的继承描述中,( )是错误的。
选项A:派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数
选项B:派生类也是基类,但基类不一定具有派生类的全部属性和方法
选项C:继承描述类的层次关系,派生类可以具有与基类相同的属性和方法
选项D:一个基类可以有多个派生类,一个派生类可以有多个基类
满分答案问询微信:424329

32.声明一个类的对象时,系统自动调用( )函数。
选项A:成员函数
选项B:构造函数
选项C:析构函数
选项D:普通函数
满分答案问询微信:424329

33.类MyClass的定义如下:
class MyClass
{
public:
MyClass() { value = 0;}
SetVariable(int i) { value = i; }
private:
int value;
}
则对下列语句序列正确的描述是()。
MyClass *p,my; p=SetVariable(5)与语句my.SetVariable(5)等价
满分答案问询微信:424329

34.在保护继承中,基类中的私有成员作为派生类的()。
选项A:公有成员
选项B:私有成员
选项C:保护成员
选项D:不可访问
满分答案问询微信:424329

35.下列关于构造函数调用顺序的描述中,正确的是()。
选项A:创建派生类对象时,先调用基类的构造函数,后调用派生类的构造函数
选项B:创建基类对象时,先调用基类的构造函数,后调用派生类的构造函数
选项C:创建派生类对象时,先调用派生类的构造函数,后调用基类的构造函数
选项D:创建基类对象时,先调用派生类的构造函数,后调用基类的构造函数
满分答案问询微信:424329

36.虚函数是用virtual关键字说明的成员函数。
选项A:对
选项B:错
满分答案问询微信:424329

37.含有纯虚函数的类是抽象类。
选项A:对
选项B:错
满分答案问询微信:424329

38.定义一个虚基类后,则该虚基类后继类层次中的类都需要调用虚基类的构造函数对虚基类中定义的成员变量进行初始化。
选项A:错误
选项B:正确
满分答案问询微信:424329

39.函数模板可以与普通函数重载。
选项A:对
选项B:错
满分答案问询微信:424329

40.类中的静态数据成员为该类的所有对象所共享,并且,在该类对象被销毁时,静态数据成员不会被同时销毁。
选项A:对
选项B:错
满分答案问询微信:424329

41.一个类的静态数据成员被该类的所有对象共享。
选项A:错误
选项B:正确
满分答案问询微信:424329

42.运算符重载实际上是对已有的运算符重新定义其功能。
选项A:对
选项B:错
满分答案问询微信:424329

43.类A有如下成员函数:
int A::fun(double x){return (int) x/2;}
int A::fun(int x){return x*2;}
设a为类A的对象,在主函数中执行语句int s=a.fun(6)+a.fun(2.0)后的s值为13。
选项A:对
选项B:错
满分答案问询微信:424329

44.多数运算符可以重载,个别运算符不能,运算符重载是通过函数定义实现的。
选项A:对
选项B:错
满分答案问询微信:424329

45.抽象类不能定义对象,但可以声明抽象类的指针或引用。
选项A:错误
选项B:正确
满分答案问询微信:424329

46.在公有继承中,基类中只有公有成员对派生类对象是可见的。
选项A:对
选项B:错
满分答案问询微信:424329

47.运算符重载的形式有两种:成员函数形式和友元形式。
选项A:对
选项B:错
满分答案问询微信:424329

48.cin是输出流的一个对象,处理标准输出。
选项A:对
选项B:错
满分答案问询微信:424329

49.运算符[]只能用成员运算符来重载,不能用友元运算符来重载。
选项A:对
选项B:错
满分答案问询微信:424329

50.可以在类的构造函数中对静态数据成员进行初始化。
选项A:对
选项B:错
满分答案问询微信:424329

提供优质的教育资源

公众号: 超前自学网