欢迎光临
奥鹏作业辅导

南开18春学期《面向对象程序设计》在线作业答案

来源:奥鹏远程教育   日期: 作者:奥鹏作业辅导

南开18春学期《面向对象程序设计》在线作业答案满分答案

18春学期《面向对象程序设计》在线作业-0003

试卷总分:100    得分:0

一、 单选题 (共 35 道试题,共 70 分)

1.面向对象程序设计方法以()为中心进行分析和设计。

A.结构

B.模块

C.对象

D.类

正确选项:----

 

 

2.已知函数原型:void f(int a, int b=3,char c='*'); 则下面的函数调用中,不合法的调用是()。

专业答案:----

A.f(5)

B.f(5,8)

C.f(6, , '#')

D.f(0,0, '#')

专业答案:----

 

 

3.有关带默认参数的函数的描述正确的是()。

A.只能在函数定义时设置默认参数值

B.只能在函数声明时设置默认参数值

C.函数调用时,必须使用默认的参数值,不能给出新的实参值

D.设置默认参数时,应该设置最右边的若干个参数的默认值

专业答案:----

 

 

4.下列关于虚函数的说明中,正确的是()。

A.从虚基类继承的函数都是虚函数

B.虚函数不得是静态成员函数

C.只能通过指针或引用调用虚函数

D.抽象类中的成员函数都是虚函数

正确答案:----

 

 

5.下列运算符中,()在C++中不能重载。

A.?:

B.+

C.-

D.<=

正确答案:----

 

 

6.下面关于私有继承方式的论述中错误的是()。

A.基类中的私有成员对其对象不可见

B.基类中的私有成员对其派生类不可见

C.基类中的公有成员对其派生类可见

D.基类中的保护成员对其派生类不可见

专业答案:----

 

 

7.如果一个类至少有一个纯虚函数,那么就称该类是()。

A.抽象类

B.虚基类

C.派生类

D.以上都不对

专业答案:----

 

 

8.类的默认的无参构造函数()。

A.在任何情况下都存在

B.仅当未定义无参构造函数时存在

C.仅当未定义有参构造函数时存在

D.仅当未定义任何构造函数时存在

专业答案:----

 

 

9.对A、B两个类进行多重继承得到派生类C,则创建派生类C的对象时,从基类B中继承过来的成员变量由()类的构造函数进行初始化。

A.A

B.B

C.C

D.都可以

正确答案:----

 

 

10.静态数据成员初始化在()进行,而且前面不加static,以免与一般静态变量或对象相混淆。

A.类体内

B.类体外

C.构造函数内

D.内联函数内

正确选项:----

 

 

11.类对象占用内存的大小与()有关。

A.数据成员

B.成员函数

C.数据成员和成员函数

D.私有成员

正确选项:----

 

 

12.类aClass的定义如下: class aClass {public: aClass(){} aClass(int i){value=new int(i);} int *value; } 若要对类中的value赋值,则下面的语句中,正确的是()。

A.aClass my; my.value=10;

B.aClass my; *my.value=10;

C.aClass my; my.*value=10;

D.aClass my(10);

正确选项:----

 

 

13.假定MyClass为一类,执行MyClass a,b(2),*p[2];语句时会自动调用该类构造函数()次。

A.2

B.3

C.4

D.5

正确选项:----

 

 

14.假设堆内存分配均成功,则下面程序段完全正确的是()。

A.int *p=new int(3);cout<<*p;delete p;

正确答案:----

专业答案:----

B.int *p=new int[5]={1,2,3,4,5};for(int i=0;i<5;i++)cout<<p[i];delete []p;

正确答案:----

专业答案:----

正确选项:----

C.int *p=new int[5];for(int i=0;i<5;i++,p++) {*p=i; cout<<*p;}delete []p;

D.以上程序段均正确

正确答案:----

 

 

15.下列关于构造函数说法不正确的是()。

A.构造函数必须与类同名

B.构造函数可以省略不写

C.构造函数必须有返回值

D.在构造函数中可以对类中的成员进行初始化

专业答案:----

 

 

16.下列关于构造函数调用顺序的描述中,正确的是()。

A.创建派生类对象时,先调用基类的构造函数,后调用派生类的构造函数

B.创建基类对象时,先调用基类的构造函数,后调用派生类的构造函数

C.创建派生类对象时,先调用派生类的构造函数,后调用基类的构造函数

D.创建基类对象时,先调用派生类的构造函数,后调用基类的构造函数

正确选项:----

 

 

17.下列关于this指针的说法,错误的是()。

A.this指针指向当前正在操作的对象

B.this指针只存在于非静态成员函数中

C.在成员函数中对非静态数据成员的访问是通过this指针完成的

D.静态成员函数中可以通过this指针访问非静态成员

正确答案:----

 

 

18.已知“float *p; p=new float[2];”,若要释放p所指向的堆中的这些字节,下列语句正确的是()。

正确答案:----

A.delete p;

B.delete p[];

正确选项:----

C.delete []p;

D.delete p[2];

正确答案:----

 

 

19.下列关于成员函数特征的描述中,错误的是()。

A.成员函数可以重载

B.成员函数一定是内联函数

C.成员函数可以设置参数的默认值

D.成员函数可以是静态的

正确选项:----

 

 

20.下面关于类的成员函数描述不正确的是()。

A.静态成员函数内可以直接访问类的非静态成员数据

B.静态成员函数内可以直接访问类的静态成员数据

C.非静态成员函数可以直接访问类的非静态成员数据

D.非静态成员函数可以直接访问类的静态成员数据

正确答案:----

 

 

21.下列关于运算符重载正确的是()。

A.运算符重载可以改变运算符的操作数个数

B.运算符重载可以改变运算符的优先级

C.运算符重载可以改变运算符的结合性

D.运算符重载不可以改变语法结构

正确选项:----

 

 

22.下面对静态数据成员的描述中,正确的是()。

A.静态数据成员可以在类体内进行初始化

B.静态数据成员不可以被该类的对象调用

C.静态数据成员不能受private控制符的作用

D.静态数据成员可以直接用类名访问

专业答案:----

 

 

23.友元重载运算符obj1>obj2被C++编译器解释为()。

A.operator>(obj1,obj2)

B.>(obj1,obj2)

C.obj1.operator>(obj2)

D.obj2.operator>(obj1)

专业答案:----

 

 

24.下列关于动态联编的描述中,错误的是()。

A.动态联编是以虚函数为基础的

B.动态联编是在运行时确定所调用的函数代码的

C.动态联编调用函数操作是通过指向对象的指针或对象

D.动态联编是在编译时确定操作函数的

专业答案:----

 

 

25.抽象类的作用主要是()。

A.直接用作基类

B.直接用作指针

C.引用的基类型

D.包括以上各项

正确选项:----

 

 

26.交换两个string类对象所表示的字符串的内容,应该使用string类的()函数。

A.assign

B.insert

C.swap

D.find

正确答案:----

正确答案:----

 

 

27.任意一个类,析构函数的个数最多是()。

A.不限个数

B.1

C.2

D.3

正确选项:----

 

 

28.派生类中的成员不能访问基类中的()。

A.私有成员

B.公有成员

C.保护成员

D.以上都可以

正确答案:----

 

 

扫描二维码获取答案

热门文章

猜你喜欢

  • 氮负平衡常见于下列哪种情况?( )

  • 1. 氮负平衡常见于下列哪种情况?( ) 2. 字面解释是指根据法的条文字面意义作出的解释,既不允许扩大,也不允许缩小文字本身所表现的内容。 3. 分别在