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