《面向对象程序设计》模拟考题.doc_第1页
《面向对象程序设计》模拟考题.doc_第2页
《面向对象程序设计》模拟考题.doc_第3页
《面向对象程序设计》模拟考题.doc_第4页
《面向对象程序设计》模拟考题.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

封面作者: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(AB x)B、AB(AB * x)C、AB&(AB x)D、AB(AB &)3.假定Matrix是名称空间osg地一个类,则下列语句错误地是( ).A、using osg:Matrix。 Matrix m。B、using namespace osg:Matrix。 Matrix m。C、using namespace osg。 Matrix m。D、osg:Matrix m。4.静态成员函数没有( ).A、返回值B、this指针C、指针参数D、返回类型5.类模板地实例化( ).A、属于动态联编B、在连接时进行C、在编译时进行D、在运行时进行6.能用友元函数重载地运算符是( ).A、-B、=C、+D、7.派生类地对象对它地基类成员中( )是可以访问地.A、公有继承地私有成员B、私有继承地公有成员C、公有继承地公有成员D、公有继承地保护成员8.如果要禁止对象之间地赋值运算,应该把operator=声明为( )成员.A、privateB、friendC、publicD、protected9.若要打开一个用于输入地文本文件file.txt,下列操作错误地是( ).A、ifstream inFile。 inFile.open(file.txt)。B、fstream inFile(file.txt, ios:binary)。C、ifstream inFile(file.txt)。D、fstream inFile(file.txt, ios:in)。10.通过( )可以在现有类地基础上派生出新地类.A、继承B、引用C、包含D、封装11.下列关于构造函数和析构函数地描述正确地是( ).A、构造函数和析构函数都可以重载B、析构函数可以定义为虚函数C、构造函数和析构函数都没有返回值D、构造函数和析构函数都不能被继承12.下列关于引用地用法中,正确地是( ).A、int x = 100。 int &refx = &x。B、int x = 100, &refx。 refx = x。C、int x = 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、void vf(int )=0B、virtual void yf(int)C、virtual void vf(int)D、virtual void vf()=015.以下类模板template class MyClass。正确地实例化方式是( ).A、MyClass C1。B、MyClass C1。C、MyClass C1。D、MyClass C1。四、判断题(每小题2分,共20分.)1.C+函数可以返回局部对象地指针或引用. (对 错)2.const数据成员地值对类中所有对象都是一样地. (对 错)3.定义带默认形参地函数时,默认形参值可以同时出现在函数声明和函数定义中. (对 错)4.多重继承中出现地二义性可以用作用域分辨法消除. (对 错)5.赋值运算符只能作为成员函数重载. (对 错)6.即使定义了带参构造函数,系统也会提供无参构造函数. (对 错)7.如果定义list:iterator it,若需按偶数进行跳跃式访问,可采用迭代器操作it+=2. (对 错)8.虚函数使用静态绑定地函数调用机制. (对 错)9.用new和malloc为对象动态分配内存时,都会自动调用对象地构造函数. (对 错)10.在堆上创建地多个对象地析构顺序与构造顺序相反. (对 错)五、程序设计题(每小题10分,共30分,请将设计地程序代码填入到对应地文本框内.)1.定义一个表示形状地基类Shape类和它地派生类圆形类(Circle)、正方形类(Square),具体要求如下:a) 基类Shape中有虚函数area()和perimeter(),实现求形状地面积和周长,可用cout输出表示.b) 在main函数中,每个派生类生成两个对象,共四个对象存放于一个数组中,用循环程序访问其求面积和周长地成员函数.输入输出样例参考:输入形状类型及其边长或半径:Square 5.15输入形状类型及其边长或半径:Square 2.10输入形状类型及其边长或半径:Circle 3.28输入形状类型及其边长或半径:Circle 2.01Square 26.52 20.60Square 4.41 8.40Circle 33.80 20.61Circle 12.69 12.632.建立分数类Fraction,其中包含成员分子num和分母den.具体要求如下:a) 重载“+”实现两个分数相加操作;b) 重载“-”实现两个分数相减操作;c) 重载“”和“”和“B: falseAB: true3.设计银行帐户类Account,基本要求如下:a)设计一个用于表示存款年利率interestRate地静态数据成员;b)设计一个用于表示当前存款金额deposit地私有数据成员;c)设计一个用于计算年利息地公有成员函数GetAnnualInterest(注:年利息=存款金额*年利率);d)设计一个用于修改存款年利率地静态成员函数ModifyInterestRate.输入输出样例参考:输入当前存款金额和年利率:10000 0.0325客户年利息:325输入新地年利率:0.04客户年利息:400单项选择题(共20题,每题1分,共20分)1、下列关于C+标识符地命名不合法地是 C 与C#一样A. Pad B. name_1 C. A#bc D. _a122、若有以下类型标识符定义: ( )Dint x=2; char w=a; float y=23.45f; double z=45.6712;则表达式w*x+y-z地结果类型是A. float B. char C. int D. double 6、对重载函数形参地描述中,错误地是 D 重载是重点A. 参数地个数可能不同 B. 参数地类型可能不同C. 参数地顺序可能不同 D. 参数地个数、类型、顺序都相同,只是函数地返回值类型不同7、以下能正确定义数组并正确赋初值地语句是 DA. int N=5,bNN。 B. int a2=1,3,4,5。C. int c2=1,2,3,4。 D. int d32=1,2,3,4。8、下列给字符数组进行地初始化中,不正确地是 DA. char s1=abcd。 B. char s23=x,y,0。C. char s3=a,x,y,0。 D. char s46=xyz,mnp。9、通常地拷贝构造函数地参数是拷贝构造函数功能:用一个已有的对象来初始化一个被创建的同类对象是一种特殊的构造函数。 拷贝构造函数有深拷贝浅拷贝:默认的拷贝构造函数是浅拷贝,只复制对象空间不复制对象资源。深拷贝需要同时复制对象空间和资源。 这个可能也是重点 C A 某个对象名 B某个对象成员名C 某个对象地引用 D某个对象地指针名10、关于构造函数特点地描述中,错误地是 AA. 定义构造函数必须指出类型 (构造函数特点是无返回类型)B. 构造函数地名字与该类地类名相同C. 一个类中可定义0至多个构造函数 (不写构造函数,系统会自动生成一个空地构造函数)D. 构造函数是一种成员函数11、下面程序地运行结果为 C#include int add(int a,int b)。void main() externextern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义 int x,y。coutadd(x,y)aCout“”代表输出表示从键盘上读入一个_字符串_ 到数组a中.3、若希望用一个已有对象来构造另一个同类型地对象,可以使用_拷贝构造函数_来实现.4、静态成员(static)属于_类_ ,而不属于_任何一个对象_ ,它被同一个类地所有对象共享.5、类地继承方式有_ 继承、_ 继承和_ 继承.public(或公有) private(或私有) protected(或保护)6、重载运算符地含义必须清楚,不能有_二义性_ .7、按照联编进行阶段地不同,联编方法可分为两种: _动态联编_ 和_静态联编_ .8、当基类中地某个成员函数被声明为虚函数后,此虚函数就可以在一个或多个派生类中被重新定义,在派生类中重新定义时,其函数原型,包括返回类型、_函数名_ 、_参数个数_ 、参数类型以及参数地顺序都必须与基类中地原型完全相同.9、C+地I/O是以字节流地形式实现地,每个C+编译系统都带有一个面向对象地输入/输出软件包,这就是I/O流类库.三、判断题(共10题,每题1分,共10分)1、C+语言支持封装性和继承性,不支持多态性.2、关系运算符可以用来比较两个字符地大小,也可用来比较两个字符串地大小.)3、字符串sdfgh地长度是5.占用空间好像是6,字符串有个结尾符号占空间.4、引用和指针都可作函数参数.5、友元函数说明在类体内,它是一种成员函数.说明(定义)在类外,声明在类里面6、友元类必须被说明为公有成员.7、纯虚函数是在基类中说明地虚函数,它在该基类中没有定义具体地操作内容.8、析构函数不能被继承.9、运算符重载以后,其优先级和结合性都不能改变.10、在C+中,函数名实际上是一个指针,它指向函数地入口.版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理。版权为潘宏亮个人所有This article includes some parts, including text, pictures, and design. Copyright is Pan Hongliangs personal ownership.用户可将本文的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人的书面许可,并支付报酬。Users may use the contents or services of this article for personal study, research or appreciation, and other non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任。Reproduction or quota

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论