面向对象的程序设计第1阶段练习题答案江南大学Word文档下载推荐.docx
- 文档编号:15231014
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:14
- 大小:22.29KB
面向对象的程序设计第1阶段练习题答案江南大学Word文档下载推荐.docx
《面向对象的程序设计第1阶段练习题答案江南大学Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《面向对象的程序设计第1阶段练习题答案江南大学Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
C.classfriend<类名>;
D.friendsclass<类名>;
2.在类定义的外部,可以被任意函数访问的成员有()。
A.所有类成员
B.private或protected的类成员
C.public的类成员
D.public或private的类成员
3.在面向对象程序设计中,类通过()与外界发生关系。
A.对象
B.类
C.消息
D.接口
4.下面选项中,()不是类的成员函数。
A.构造函数
B.析构函数
C.友元函数
D.拷贝构造函数
5.对new运算符的下列描述中,()是错误的。
A.它可以动态创建对象和对象数组
B.用它创建对象数组时必须指定初始值
C.用它创建对象时要调用构造函数
D.用它创建的对象数组可以使用运算符delete来一次释放
6.关于C++与C语言的关系的描述中,()是错误的。
A.C语言是C++的一个子集
B.C语言与C++是兼容的
C.C++对C语言进行了一些改进
D.C++和C语言都是面向对象的
7.面向对象程序设计着重于()的设计。
C.算法
D.数据
8.关于this指针的说法正确的是()。
A.this指针必须显式说明
B.当创建一个对象后,this指针就指向该对象
C.成员函数拥有this指针
D.静态成员函数拥有this指针。
9.在整型指针变量p2、p3的定义中,错误的是()(1分)
A.intp1,*p2,p3;
B.int*p2,p1,*p3;
C.intp1,*p2=&
p1,*p3;
D.int*p2,p1,*p3=&
p1;
二多选题(共2题,总分值2分,下列选项中至少有2个或2个以上选项符合题目要求,请在答题卡上正确填涂。
10.下面对析构函数的正确描述是()。
A.系统可以提供默认的析构函数
B.析构函数必须由用户定义
C.析构函数没有参数
D.析构函数可以设置默认参数
11.下面说法正确的是()。
A.对象是计算机内存中的一块区域,它可以存放代码和数据
B.对象实际是功能相对独立的一段程序
C.各个对象间的数据可以共享是对象的一大优点
D.在面向对象的程序中,对象之间只能通过消息相互通信
三判断题(共8题,总分值8分正确的填涂“A”,错误的填涂“B”。
12.C++程序中,不得使用没有定义或说明的变量。
(1分)(
13.函数可设置默认参数,但不允许将一个函数的所有参数都设置为默认参数。
14.函数可以没有参数,也可以没有返回值。
15.面向对象程序设计中的消息应该包含“如何做”的信息。
16.引用被创建时可以用任意变量进行初始化。
17.类的设计和类的继承机制实现了软件模块的可重用性。
18.在高级程序设计语言中,一般用类来实现对象,类是具有相同属性和行为的一组对象的集合,它是创建对象的模板。
19.学习C++语言是学习面向对象的程序设计方法的唯一途径。
四名词解释题(共4题,总分值12分)
20.引用(3分)
21.消息(3分)
22.封装(3分)
23.重载函数(3分)
五填空题(共13题,总分值13分)
24.C++程序的内存格局通常分为4个区:
_________________、_________________、_________________和_________________。
25.目前有_________________和_________________两种重要的程序设计方法。
26.对于任意一个类,析构函数的个数最多为_________________个。
27.C++有_________________和_________________两种参数传递机制。
28.使用C++风格的输入输出,在程序中必须包含头文件“_________________”。
29.在结构化程序设计方法中,程序可表示为_________________;
而面向对象的程序设计方法,程序可表示为_________________。
30.静态数据成员和静态成员函数可由_________________的函数访问。
31._________________是预定义的标准输出流对象,_________________是输出操作符,也称插入运算符。
32.面向对象程序设计方法具有_________________、_________________、_________________和_________________等特点。
33.创建一个类的对象时,系统自动调用_________________;
撤销对象时,系统自动调用_________________。
34.在程序运行时,通过为对象分配内存来创建对象。
在创建对象时,使用类作为_________________,故称对象为类的_________________。
35.设MClass是一个类,dd是它的一个对象,pp是指向dd的指针,cc是dd的引用,则对成员的访问,对象dd可以通过_________________进行,指针pp可以通过_________________进行,引用cc可以通过_________________进行。
36.友元的正确使用能提高程序的_________________,但破坏了类的封装性和数据的隐蔽性。
六简答题(共8题,总分值31分)
37.类的实例化是指创建类的对象还是定义类?
(3分)
38.函数原型中的参数名与函数定义中的参数名以及函数调用中的参数名必须一致吗?
(4分)
39.什么叫做拷贝构造函数?
拷贝构造函数何时被调用?
40.什么是结构化程序设计方法?
它有哪些优点和缺点?
41.比较值调用和引用调用的相同点与不同点。
42.结构化程序设计方法与面向对象程序设计方法在对待数据结构和算法关系上有什么不同?
43.名字空间的用途是什么?
44.类与对象有什么关系?
七综合题(共5题,总分值25分)
45.将例3.10中的Whole类如下修改,其他部分不变,写出输出结果。
classWhole
{
public:
Whole(inti);
//Whole的有参构造函数
Whole(){};
//Whole的无参构造函数
~Whole();
//Whole的析构函数
private:
Partp1;
//子对象1
Partp2;
//子对象2
Partp3;
//子对象3
};
Whole:
:
Whole(inti):
p2(i),p1()
cout<<"
ConstructorofWhole"
<<endl;
}
Whole∷~Whole()
DestructorofWhole"
}(5分)
46.#include<iostream>
usingnamespacestd;
classTest
intnum;
Test();
//默认构造函数
Test(intn);
//带一个参数构造函数
Test∷Test()
Initdefa"
num=0;
Test∷Test(intn)
Init"
<<"
"
<<n<<endl;
num=n;
intmain()
Testx[2];
//语句1
Testy(15);
//语句2
return0;
47.#include<iostream>
intnum=50;
int&
ref=num;
ref=ref+10;
num="
<<num<<endl;
num=num+40;
ref="
<<ref<<endl;
48.写出一个完整的C++程序,使用系统函数pow(x,y)计算xy的值,注意包含头文件cmath。
(5分)
49.声明一个Circle类,有数据成员radius(半径)、成员函数area(),计算圆的面积,构造一个Circle的对象进行测试。
1.正确的答案是:
A
解析过程:
2.正确的答案是:
C
类是一种用户自定义的数据类型,类中成员均具有一种访问权限。
公有成员定义了类的外部接口。
私有成员是被隐藏的数据,只有该类的成员函数或友元函数才可以引用它。
保护成员具有公有成员和私有成员的双重性质,可以被该类或派生类的成员函数或友元函数引用。
可见在类定义的外部,可以被任意函数访问的成员是public的类成员。
3.正确的答案是:
D
4.正确的答案是:
5.正确的答案是:
B
使用运算符new创建对象数组的格式如下:
new<类型说明符>[<算术表达式>]
其中,<算术表达式>给出数组的大小,后面不能再跟构造函数参数,所以用它创建对象数组时不能指定初始值。
6.正确的答案是:
C语言是面向过程的。
C++语言是一种经过改进的更为优化的C语言,是一种混合型语言,既面向过程也面向对象。
7.正确的答案是:
8.正确的答案是:
this指针
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象的程序设计第1阶段练习题答案 江南大学 面向 对象 程序设计 阶段 练习题 答案 江南 大学