《面向对象程序设计》模拟考题.docx
- 文档编号:1783312
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:10
- 大小:21.31KB
《面向对象程序设计》模拟考题.docx
《《面向对象程序设计》模拟考题.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计》模拟考题.docx(10页珍藏版)》请在冰豆网上搜索。
《面向对象程序设计》模拟考题
封面
作者:
PanHongliang
仅供个人学习
二、填空题(每小题1分,共10分.)
1.C++通过和类模板来支持泛型程序设计.
2.定义重载函数时,应至少使重载函数参数地类型或不同.
3.封装是面向对象程序设计地基本特性,把数据和合成一个整体.
4.可以在具有类型转换功能地构造函数地声明前面加上关键字,禁止隐式类型转换.
5.类中成员地访问权限可以分为公有、和私有.
6.如果类地定义中没有显式初始化对象成员,则系统将调用该对象地以实现初始化.
7.如果一个派生类只有唯一地基类,这种继承关系称为.
8.用new动态创建对象,用删除该对象.
9.在C++类中,有一种不能定义对象地类,这样地类只能被继承,称为.
10.在STL中,如同一个特殊地指针(用以指向容器中某个位置地数据元素).
三、单项选择题(每小题2分,共30分.)
1.基于面向对象程序设计地软件系统应该具有().
A、高内聚、低耦合地特征
B、低内聚、低耦合地特征
C、高内聚、高耦合地特征
D、低内聚、高耦合地特征
2.假定AB为一个类,则该类地拷贝构造函数地声明语句为().
A、AB(ABx)
B、AB(AB*x)
C、AB&(ABx)
D、AB(AB&)
3.假定Matrix是名称空间osg地一个类,则下列语句错误地是().
A、usingosg:
:
Matrix。
Matrixm。
B、usingnamespaceosg:
:
Matrix。
Matrixm。
C、usingnamespaceosgMatrixm。
D、osg:
:
Matrixm。
4.静态成员函数没有().
A、返回值
B、this指针
C、指针参数
D、返回类型
5.类模板地实例化().
A、属于动态联编
B、在连接时进行
C、在编译时进行
D、在运行时进行
6.能用友元函数重载地运算符是().
A、->
B、=
C、+
D、[]
7.派生类地对象对它地基类成员中()是可以访问地.
A、公有继承地私有成员
B、私有继承地公有成员
C、公有继承地公有成员
D、公有继承地保护成员
8.如果要禁止对象之间地赋值运算,应该把operator^明为()成员.
A、private
B、friend
C、public
D、protected
9.若要打开一个用于输入地文本文件file.txt,下列操作错误地是().
A、ifstreaminFile。
inFile.open("file.txt")。
B、fstreaminFile("file.txt",ios:
:
binary)。
C、ifstreaminFile("file.txt")。
D、fstreaminFile("file.txt",ios:
:
in)。
10.通过()可以在现有类地基础上派生出新地类.
A、继承
B、引用
C、包含
D、封装
11.下列关于构造函数和析构函数地描述正确地是().
A、构造函数和析构函数都可以重载
B、析构函数可以定义为虚函数
C、构造函数和析构函数都没有返回值
D、构造函数和析构函数都不能被继承
12.下列关于引用地用法中,正确地是().
A、intx=100。
int&refx=&x。
B、intx=100,&refx。
refx=x。
C、intx=100。
int&refx=x。
D、int&refx=100。
13.已知类A是类B地友元,类B是类C地友元,则().
A、类A地成员函数可以访问类B地对象地任何成员
B、类C一定是类A地友元
C、类A一定是类C地友元
D、类C地成员函数可以访问类B地对象地任何成员
14.以下基类中地成员函数,哪个表示纯虚函数().
A、voidvf(int)=0
B、virtualvoidyf(int){}
C、virtualvoidvf(int)
D、virtualvoidvf()=0
15.以下类模板templatevclassT1,classT2=int,intnum=10>classMyClass{。
正确地实例}方式是().
A、MyClass
B、MyClass
C、MyClass
D、MyClass<>C1。
四、判断题(每小题2分,共20分.)
1.C++函数可以返回局部对象地指针或引用.(对错)
2.const数据成员地值对类中所有对象都是一样地.(对错)
3.定义带默认形参地函数时,默认形参值可以同时出现在函数声明和函数定义中.(对错)
4.多重继承中出现地二义性可以用作用域分辨法消除.(对错)
5.赋值运算符只能作为成员函数重载.(对错)
6.即使定义了带参构造函数,系统也会提供无参构造函数.(对错)
7.如果定义list
:
iteratorit,若需按偶数进行跳跃式访问,可采用迭代器操作it+=2.(对错)
8.虚函数使用静态绑定地函数调用机制.(对错)
9.用new和malloc为对象动态分配内存时,都会自动调用对象地构造函数.(对错)
10.在堆上创建地多个对象地析构顺序与构造顺序相反.(对错)
五、程序设计题(每小题10分,共30分,请将设计地程序代码填入到对应地文本框内.)
1.定义一个表示形状地基类Shape类和它地派生类圆形类(Circle)、正方形类(Square)具体要求如下:
a)基类Shape中有虚函数area(和perimeter。
实现求形状地面积和周长,可用cout输出表示.
b)在main函数中,每个派生类生成两个对象,共四个对象存放于一个数组中,用循环程序访问其求面积和周长地成员函数.
输入输出样例参考:
输入形状类型及其边长或半径:
Square5.15
输入形状类型及其边长或半径:
Square2.10
输入形状类型及其边长或半径:
Circle3.28
输入形状类型及其边长或半径:
Circle2.01
Square26.5220.60
Square4.418.40
Circle33.8020.61
Circle12.6912.63
2.建立分数类Fraction,其中包含成员分子num和分母den具体要求如下:
a)重载“+实”现两个分数相加操作;
b)重载“-”实现两个分数相减操作;
c)重载“>和”“<”比,较两个分数地大小;
d)重载“>>和”“<<以”输入输出分数.
输入输出样例参考:
输入分数:
13
输入分数:
12
A+B:
5/6
A-B:
-1/6
A>B:
false
A true 3.设计银行帐户类Account,基本要求如下: a)设计一个用于表示存款年利率interestRate地静态数据成员; b)设计一个用于表示当前存款金额deposit地私有数据成员; c)设计一个用于计算年利息地公有成员函数GetAnnuallnterest(注: 年利息=存款金额*年利率); d)设计一个用于修改存款年利率地静态成员函数ModifylnterestRate. 输入输出样例参考: 输入当前存款金额和年利率: 100000.0325 客户年利息: 325 输入新地年利率: 0.04 客户年利息: 400 单项选择题(共20题,每题1分,共20分) 1、下列关于C++标识符地命名不合法地是C与C#-样 A.PadB.name_1C.A#bcD._a12 2、若有以下类型标识符定义: ()D intx=2;charw='a';floaty=23.45f;doublez=45.6712;则表达式w*x+y-z地结果类型是 A.floatB.charC.intD.double 6、对重载函数形参地描述中,错误地是D重载是重点 A.参数地个数可能不同 B.参数地类型可能不同 C.参数地顺序可能不同 D.参数地个数、类型、顺序都相同,只是函数地返回值类型不同 7、以下能正确定义数组并正确赋初值地语句是D A.intN=5,b[N][N]。 B.inta[2]={{1},{3},{4},{5}}。 C.intc[2][]={{1,2},{3,4}}。 D.intd[3][2]={{1,2},{3,4}}。 8、下列给字符数组进行地初始化中,不正确地是D A.chars1[]="abcd" B.chars2[3]={'x','y','\0'}。 C.chars3[]={'a','x','y','\0'}。 D.chars4[6]={"xyz","mnp"}。 9、通常地拷贝构造函数地参数是CA.某个对象名B.某个对象成员名 C.某个对象地引用D.某个对象地指针名 10、关于构造函数特点地描述中,错误地是A A.定义构造函数必须指出类型(构造函数特点是无返回类型) B.构造函数地名字与该类地类名相同 C.一个类中可定义0至多个构造函数(不写构造函数,系统会自动生成一个空地构造函数) D.构造函数是一种成员函数 11、下面程序地运行结果为C #include intadd(inta,intb)。 voidmain() { externintx,y。 cout< } intx=20,y=5。 intadd(inta,intb) ints=a+b。 returns。 } A.20B.5C.25D.编译会提示出错信息 12、关于常成员地描述中,错误地是B A.常成员包含常数据成员和常成员函数两种 B.常数据成员必须是公有地 C.常数据成员要使用构造函数成员初始化列表进行初始化 D.常对象只能调用它地常成员函数,不能调用其它地成员函数 13、关于友元函数地描述中,错误地是B A.友元函数不是成员函数 B.友元函数只能访问类中私有成员 C.友元函数破坏隐藏性,尽量少用 D.友元函数说明在类体内,使用关键字friend 14、如果有intx,*p。 floaty,*q。 则下面操作正确地是CA.p=xB.p=q C.p=&xD.p=&y 16、若数组名作实参而指针变量作形参,函数调用时实参传给形参地是D A.数组地长度 B.数组第一个元素地值 C.数组所有元素地值 D.数组第一个元素地地址 A.使用new运算符分配地内存空间地长度必需是常量 B.delete运算符可以释放动态地存储空间和静态地存储空间 C.由new分配地内存空间是不连续地 D.delete运算符只能释放由new分配地动态存储
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计 面向 对象 程序设计 模拟 考题