20秋学期1909《面向对象程序设计》在线作业 2.docx

上传人:b****6 文档编号:7906285 上传时间:2023-05-12 格式:DOCX 页数:11 大小:17.27KB
下载 相关 举报
20秋学期1909《面向对象程序设计》在线作业 2.docx_第1页
第1页 / 共11页
20秋学期1909《面向对象程序设计》在线作业 2.docx_第2页
第2页 / 共11页
20秋学期1909《面向对象程序设计》在线作业 2.docx_第3页
第3页 / 共11页
20秋学期1909《面向对象程序设计》在线作业 2.docx_第4页
第4页 / 共11页
20秋学期1909《面向对象程序设计》在线作业 2.docx_第5页
第5页 / 共11页
20秋学期1909《面向对象程序设计》在线作业 2.docx_第6页
第6页 / 共11页
20秋学期1909《面向对象程序设计》在线作业 2.docx_第7页
第7页 / 共11页
20秋学期1909《面向对象程序设计》在线作业 2.docx_第8页
第8页 / 共11页
20秋学期1909《面向对象程序设计》在线作业 2.docx_第9页
第9页 / 共11页
20秋学期1909《面向对象程序设计》在线作业 2.docx_第10页
第10页 / 共11页
20秋学期1909《面向对象程序设计》在线作业 2.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

20秋学期1909《面向对象程序设计》在线作业 2.docx

《20秋学期1909《面向对象程序设计》在线作业 2.docx》由会员分享,可在线阅读,更多相关《20秋学期1909《面向对象程序设计》在线作业 2.docx(11页珍藏版)》请在冰点文库上搜索。

20秋学期1909《面向对象程序设计》在线作业 2.docx

20秋学期1909《面向对象程序设计》在线作业2

20秋学期(1709、1803、1809、1903、1909、2003、2009)《面向对象程序设计》在线作业

已知“inta=10,*p;int*&r=p;r=&a;*p=20;cout<<a;”,则输出为()。

A:

10

B:

20

C:

不确定值

D:

程序有错误

答案:

B

可以用p.a的形式访问派生类对象p的基类成员a其中a是()。

A:

私有继承的公有成员

B:

公有继承的私有成员

C:

公有继承的保护成员

D:

公有继承的公有成员

答案:

D

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

A:

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

B:

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

C:

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

D:

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

答案:

B

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

A:

assign

B:

insert

C:

swap

D:

find

答案:

D

执行语句“stringstr("abc");”时,系统会自动调用string类的构造函数()。

A:

string()

B:

string(constchar*s)

C:

string(conststring&str)

D:

string(size_typen,charc)

答案:

B

下面说法中正确的是()。

A:

一个类只能定义一个构造函数,但可以定义多个析构函数

B:

一个类只能定义一个析构函数,但可以定义多个构造函数

C:

构造函数与析构函数同名,只要名字前加了一个求反符号(~)

D:

构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以

答案:

B

已知函数原型:

voidf(inta,intb=3,charc='*');则下面的函数调用中,不合法的调用是()。

A:

f(5)

B:

f(5,8)

C:

f(6,,'#')

D:

f(0,0,'#')

答案:

C

()是析构函数的特征。

A:

析构函数可以有一个或多个参数

B:

析构函数定义只能在类体内

C:

析构函数名与类名不同

D:

一个类中只能定义一个析构函数

答案:

D

已知“inta=10;int&r=a;r=r+20;cout<<a;”,则输出为()。

A:

10

B:

20

C:

30

D:

不确定值

答案:

C

关于下面程序段说法正确的是()

classX

{

private:

intn;

public:

X(X&);

};

X:

:

X(X&x){n=x.n}

Xobj1,obj2(obj1);

A:

语句obj2(obj1);的功能是用对象obj1初始化具有相同类类型的对象obj2

B:

语句obj2(obj1);的功能是用对象obj2初始化具有相同类类型的对象obj1

C:

X(X&x)中的&符号可以删除

D:

X(X&x)函数中不能访问对象的私有成员

答案:

A

类aClass的定义如下:

classaClass

{public:

aClass(){}

aClass(inti){value=newint(i);}

int*value;

}

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

A:

aClassmy;my.value=10;

B:

aClassmy;*my.value=10;

C:

aClassmy;my.*value=10;

D:

aClassmy(10);

答案:

D

包含类fstream定义的头文件是()。

A:

fstream

B:

ofstream

C:

ifstream

D:

iostream

答案:

A

如果类A被说明成类B的友元,则()。

A:

类A的成员函数不得访问类B的所有成员

B:

类A的成员函数可以访问类B的所有成员

C:

类A的成员即类B的成员

D:

类B的成员即类A的成员

答案:

B

进行文件操作时需要包含_

()头文件。

A:

iostream

B:

fstream

C:

stdio

D:

stdlib

答案:

B

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

A:

私有成员

B:

公有成员

C:

保护成员

D:

以上都可以

答案:

A

下列关于类的继承描述中,()是错误的。

A:

派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数

B:

派生类也是基类,但基类不一定具有派生类的全部属性和方法

C:

继承描述类的层次关系,派生类可以具有与基类相同的属性和方法

D:

一个基类可以有多个派生类,一个派生类可以有多个基类

答案:

A

要求打开文件d:

\file.dat,可写入数据,正确的语句是()。

A:

ifstreaminfile("d:

\file.dat",ios:

:

in);

B:

ifstreaminfile("d:

\\file.dat",ios:

:

in);

C:

ofstreaminfile("d:

\file.dat",ios:

:

out);

D:

fstreaminfile("d:

\\file.dat",ios:

:

in|ios:

:

out);

答案:

D

空类的声明()是正确的。

A:

class类名;

B:

class类名{};

C:

class类名{}

D:

class类名

答案:

B

对于多重继承,有()。

A:

一个派生类只能有一个基类

B:

一个基类只能产生一个派生类

C:

一个基类必须产生多个派生类

D:

一个派生类可有多个基类

答案:

D

()的功能是对对象进行初始化。

A:

析构函数

B:

数据成员

C:

构造函数

D:

静态数据成员

答案:

C

在C++中,要实现动态联编,可以使用()调用虚函数。

A:

类名

B:

派生类指针

C:

对象名

D:

基类指针

答案:

D

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

A:

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

B:

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

C:

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

D:

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

答案:

A

下列关于C++类的描述中错误的是()。

A:

类与类之间可以通过一些手段进行通信和联络

B:

类用于描述事物的属性和对事物的操作

C:

类与类之间必须是平等的关系,而不能组成层次关系

D:

类与类之间可以通过封装而具有明确的独立性

答案:

C

已知X类.则当程序执行到语句X*array=newX[2];时,调用了()次构造函数。

A:

0

B:

1

C:

2

D:

3

答案:

C

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

A:

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

B:

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

C:

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

D:

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

答案:

A

对基类和派生类的描述中错误的是()。

A:

派生类是基类的具体化

B:

基类继承了派生类的属性

C:

派生类是基类定义的延续

D:

派生类是基类的特殊化

答案:

B

声明一个类的对象时,系统自动调用()函数。

A:

成员函数

B:

构造函数

C:

析构函数

D:

普通函数

答案:

B

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

A:

派生类的对象可以赋给基类对象

B:

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

C:

派生类的对象可以直接访问基类的成员

D:

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

答案:

C

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

A:

友元函数

B:

虚函数

C:

构造函数

D:

析构函数

答案:

C

下列关于构造函数的描述中,错误的是()。

A:

构造函数可以设置默认参数

B:

构造函数在说明类变量时自动执行

C:

构造函数可以对静态数据成员进行初始化

D:

构造函数可以重载

答案:

C

下列引用的定义中,()是错误的。

A:

inti;int&j=i;

B:

inti;int&j;j=i;

C:

floati;float&j=i;

D:

chard;char&k=d;

答案:

B

在C++中,类与类之间的继承关系具有()。

A:

自反性

B:

对称性

C:

传递性

D:

反对称性

答案:

C

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

A:

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

B:

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

C:

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

D:

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

答案:

A

在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值()。

A:

不同

B:

相同

C:

相容

D:

部分相同

答案:

B

用于类中虚成员函数说明的关键字()。

A:

virtual

B:

public

C:

protected

D:

private

答案:

A

以app方式打开文件时,当前的读指针和写指针都定位于文件尾。

A:

B:

答案:

A

派生类对基类继承的成员函数进行重定义后,则通过派生类对象和基类对象调用的都是重定义后的成员函数。

A:

B:

答案:

B

C++的I/O系统通过流的机制实现文件和控制台的输入输出操作。

A:

B:

答案:

A

定义重载函数时,应保证函数类型有所不同。

A:

B:

答案:

B

在一个类中最多只能定义1个构造函数和1个析构函数。

A:

B:

答案:

B

派生类是从基类派生出来,它不能再生成新的派生类。

A:

B:

答案:

B

C语言中scanf命令在c++中改用cin。

A:

B:

答案:

A

预定义的提取符和插入符是可以重载的。

A:

B:

答案:

A

对象数组的元素可以是不同类的对象。

A:

B:

答案:

B

在一个类中声明了某个静态数据成员,并在类外给出其定义和初始化后,若未定义该类的对象,该静态数据成员则不存在。

A:

错误

B:

正确

答案:

A

cin是输出流的一个对象,处理标准输出。

A:

B:

答案:

B

说明或定义对象时,类名前面不需要加class关键字。

A:

B:

答案:

A

编程是将所设计的算法转换成计算机能够运行的代码的过程。

A:

B:

答案:

A

定义模板的关键字是template。

A:

B:

答案:

A

程序设计过程是指编写程序的过程。

A:

B:

答案:

B

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2