基本信息
文件名称:南开大学14春学期《面向对象程序设计》在线作业答案.pdf
文件大小:319.16 KB
总页数:9 页
更新时间:2025-07-02
总字数:约5.76千字
文档摘要

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

一,单选题

1.友元重载运算符obj1obj2被C++编译器解释为()。

A.operator(obj1,obj2)

B.(obj1,obj2)

C.obj1.operator(obj2)

D.obj2.operator(obj1)

?

正确答案:A

2.结构化程序设计方法以()为中心进行分析和设计。

A.结构

B.模块

C.对象

D.类

?

正确答案:B

3.变量的引用,其含义是指该变量的()。

A.值

B.类型

C.别名

D.地址

?

正确答案:C

4.多继承的构造函数顺序可分为如下4步:①所有非虚基类的构造函数按照它们被继承的

顺序构造。②所有虚基类的构造函数按照它们被继承的顺序构造。③所有子对象的构造函

数按照它们声明的顺序构造。④派生类自己的构造函数体这四个步骤的正确顺序是()。

A.④③①②

B.②④③①

C.②①③④

D.③④①②

?

正确答案:C

5.在使用类创建对象时,系统会自动调用该对象的()完成对象中数据成员的初始化等操作。

A.友元函数

B.虚函数

C.构造函数

D.析构函数

?

正确答案:C

6.在一个string类对象表示的字符串中查找子串,应该使用string类的()函数。

A.assign

B.insert

C.swap

D.find

?

正确答案:D

7.类aClass的定义如下:classaClass{public:aClass(){}aClass(inti){value=new

int(i);}int*value;}若要对类中的value赋值,则下面的语句中,正确的是()。

A.aClassmy;my.value=10;

B.aClassmy;*my.value=10;

C.aClassmy;my.*value=10;

D.aClassmy(10);

?

正确答案:D

8.已知“inta=10,*p;int*r=p;r=a;*p=20;couta;”,则输出为()。

A.10

B.20

C.不确定值

D.程序有错误

?

正确答案:B

9.已知“float*p;p=newfloat[2];”,若分配成功,则指针p在堆中获得的字节数为()。

A.2

B.4

C.8

D.不确定

?

正确答案:C

10.关于纯虚函数和抽象类的描述中,错误的是()。

A.纯虚函数是一种特殊的虚函数,它没有具体的实现。

B.抽象类是指具有纯虚函数的类。

C.一个基类中有纯虚函数,该类的派生类一定不再是抽象类。

D.抽象类作为基类来使用,其纯虚函数的实现由派生类给出。

?

正确答案:C

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

A.int*p=newint(3);cout*p;deletep;

B.int*p=newint[5]={1,2,3,4,5};for(inti=0;i5;i++)coutp[i];delete[]p;

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

D.以上程序段均正确

?

正确答案:A

12.要在类对象上使用运算符,以下不用必须被重载的运算符是()。

A.[]

B.=

C.++

D.--

?

正确答案:B

13.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是()。

A.派生类的对象可以直接访问基类的所有成员

B.派生类的对象可以初始化基类的引用

C.派生类的对象不可以直接访问基类中的私有成员

D.派生类的对象的地址可以赋给指向基类的指针

?

正确答案:A

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

A.?:

B.+

C.-

D.=

?

正确答案:A

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

次。

A.2

B.3

C.4

D.5

?

正确答案:A

16.类的默认的无参构