ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:29.81KB ,
资源ID:4711933      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4711933.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C++面向对象程序设计复习练习试题带答案(4).docx)为本站上传会员【丰****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C++面向对象程序设计复习练习试题带答案(4).docx

1、C++面向对象程序设计模拟试题二 一、判断题(每题2分,共12x2=24分) 1. 按照标识符的要求,下划线是不能组成正确标识符的。() 2. C++中使用了新的注释符(//), C语言中注释符(/*..•*/)不能 在C++中使用。() 3. 引用就是某个变量的别名,对引用的操作,实质上就是对被引用 的变量的操作。() 4. 在不同类型操作数组成的表达式中,其表达式类型一定是最高类 型 double 型。() 5. For循环是只有可以确定的循环次数时才可使用,否则不能用for 循环。() 6. 返回值类型、参数个数和参数类型都相同的函数也可以重载。() 7. 重新定义的标识

2、符在定义它的区域内是可见的,而与其同名的原 标识符在此区域内是不可见的但是却是存在的。() 8. 通常的拷贝初始化函数的参数是某个对象的成员名或对象的引用 名」) 9. 友元函数是类的成员函数,所以可以存取或修改该类中的私有成 员」) 10. 已知: 类A中一个成员函数说明如下:void Set(A&a);其中A &a的含意 是将a的地址值赋给变量Set。() 11. 具有转 换函数功能的构造函数,是指只能带有一个或两个参数的构造函数。 () 12. 多继承 情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的 各基类的顺序,而与派生类构造函数中所定义的成员初始化列表

3、的各 项顺序无关。()__ 二、读程题,写出程序的运行结果。(1~2题每题6分,3~4题每题8 分,共28分) 1、#include void main() ( int i(0); while(++i) ( if(i= =10) break; if(i%3!=1) continue; cout< int a[8] = {1,2,3,4,5,6,7}; void fun(int *pa,int n); void main( ) { int m=8; fun(a,m

4、); cout< void ff(int x),ff(double x); void main() { float a(88.18); ff(a); char b('a'); ff(b); } void ff(int x) { cout<<"ff(int): "<

5、double): "< class AA { public: AA(int i,int j) {A=i;B=j;cout<<"Constructor\n";} AA(AA &obj) {A=obj.A+1;B=obj.B+2;cout<<"Copy_Constructor\n";} ~AA() {cout<<"Destructor\n";} void print() {cout<<"A="<

6、 { AA a1(2,3); AA a2(a1); a2.print(); AA *pa=new AA(5,6); pa->print(); delete pa; } 三、编程题(每题10分,共10x2=20分) 1、编写程序求1至1间所有素数之和,其中求素数要求用函数实现; 2、编程打印如下图形: 1 22 333 4444 55555 四、综合分析应用题(共28分) 1、阐述C++中函数三种调用的方式实现机制、特点及其实参、形参 的格式,最好用代码说明(10分)。 2、用代码举例说明如何定义指向普通常量的指针、指向一维数组的 指针、指向对象的指针、指向类的

7、数据成员的指针和指向类的成员函 数的指针。(10分) 3、结合自己学习C++的经历,谈谈你的学习体会(如遇到的问题、 错误、解决问题的办法等等),并说说如何提高学习C++的效果? (8分) 参考答案二 一、判断题(每题2分共12*2=24分) 题 目 1 2 3 4 5 6 7 8 9 10 11 12 答 案 X X / X X X / / X X X / 1、1 4 7 2、 28 3 、 ff(double):88.18 ff(int):97 4、 Constructor CopyConstructor A=

8、3,B=5 Constructor A=5,B=6 Destructor Destructor Destructor 、读程题,写出程序的运行结果。(共28分) 三、编程题(每题10分,共10x2=20分) 1、#include int prime(int x); void main() ( int sum=0; for(int i=51;i<1;i+=2) sum+=prime(i); cout<<"Sum="<

9、break; if(j>=x) return x; else return 0; } 2、#include void main() ( for (int i=1;i<=5;i++) ( for (int j=1;j<=i;j++) cout<

10、向的,把实参的地址传给形参,形参就指 针了实参变量,因此形参的改变会影响实参;引用调用:形参是实参 的别名,形参的改变也肢影响实参,注意,实参只能用变量名,不能 用常量! 代码:(略) 2、(简答):int x, *px=&x;//定义指向普通常量的指针 int arr[5] = {1,2,3,4,5},*pa=a;// 定义指向一维数组的指针 myclass object,*pobj=&object; // 定义指向对象的指针 假设类A中有公有数据成员:int c; 假设类A中有公有成员函数:int fun(int b);则 int A::*pc=&A::c; // 定义指向类的数

11、据成员的指针; int (A::*pfun)(int)=A::fun; //定义指向类的成员函数的指针; 3、(略) C++面向对象程序设计模拟试题八 一、单项选择题(每小题2分,共40分) 1、关于C++与C语言关系的描述中,()是错误的。 A. C语言是C++语言的一个子集B. C语言与C++语言是兼容的 C. C++语言对C语言进行了一些改进D. C++语言和C语言都是面向 对象的 2、已知:int m=10;下列表示引用的方法中,()是正确的。 A. int &x=m; B. int &y=10; C. int &z; D. float &t=&m; 3、考虑下面

12、的函数原型声明:void testDefaulParam(int a,int b=7,char z=/*/); 下面函数调用中,不合法的是( )。A. testDefaulParam(5); B. testDefaulParam(5,8); C.testDefaulParam(5,'#'); D. testDefaulParam(0,0,'*'); 4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调 用,在下列选项中,不能作为依据的是()。 A. 函数的返回值类型B.参数的类型C.函数名称 D.参 数个数 5、下列有关C++类的说法中,不正确的是()。 A. 类是

13、一种用户自定义的数据类型 B. 只有类中的成员函数或类的友元函数才能存取类中的私有成员 C. 在类中,如果不做特别说明,所有成员的访问权限均为私有的 D. 在类中,如果不做特别说明,所有成员的访问权限均为公用的 6、 已知X类,则当程序执行到语句X array[3];时,调用了( ) 次构造函数。A. 0 B. 1 C. 2 D. 3 7、 有关析构函数的说法,不正确的是()。 A.析构函数有且仅有一个B.析构函数和构造函数一样可以有形参 C. 析构函数的功能是在系统释放对象之前作一些内存清理工作》析 构函数无任何函数类型 8、类定义的内容允许被其对象无限制地存取的是()。

14、A. private 部分 B. protected 部分 C. public 部分 D.以 上都不对 9、关于常数据成员的说法,不正确的是()。 A. 常数据成员的定义形式与一般常变量的定义形式相同,只不过常 数据成员的定义必须出现在类体中 B. 常数据成员必须进行初始化,并且不能被更新C.常数据成员通过 构造函数的成员初始化列表进行初始化 D. 常数据成员可以在定义时直接初始化 10、运用运算符delete删除一个动态对象时()。 A. 系统首先为该动态对象调用构造函数,再释放其占用的内存 B. 系统首先释放该动态对象占用的内存,再为其调用构造函数 C. 系统首先为该动态对

15、象调用析构函数,再释放其占用的内存 D. 系统首先释放动态对象占用的内存,再为其调用析构函数 11、可以在类外用p.a的形式访问派生类对象p的基类成员a,其中a 是()。 火私有继承的公用成员B.公用继承的私有成员C.公用继承 的保护成员D.公用继承的公用成员 12、在公用继承方式下,有关派生类对象和基类对象的关系,不正确 的叙述是()。 A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基 类的引用 C. 派生类的对象可以直接访问基类中的成员D.派生类的对象的地址 可以赋给指向基类的指针 13、 设置虚基类的目的是()。A.简化程序B.消除二义性 C.提高运行效

16、率D.减少目标代码 14、在C++中,用于实现动态多态性的是()。A.内联函数 B.重 载函数C.模板函数D.虚函数 15、 不能说明为虚函数的是()。A.析构函数B.构造函数 C.类的成员函数 》以上都不对 16、如果一个类至少有一个纯虚函数,那么就称该类为()。 A.抽象类 B.派生类C.纯基类》以上都 不对 17、下面关于友元的描述中,错误的是()。 A.友元函数可以访问该类的私有数据成员B. 一个类的友元类中的成 员函数都是这个类的友元函数 C.友元可以提高程序的运行效率D.类与类之间的友元关系可以继承 18、下列运算符中,( )运算符在C++中不能被重载°A.&

17、 B.[] C. ::D. new 19、 模板的使用实际上是将类模板实例化成一个()。 A.函数B.对象C.类D.抽象类 20、假定MyClass为一个类,则该类的拷贝构造函数的声明语句为 ()。 A. MyClass(MyClass x)B. MyClass&(MyClass x) C. MyClass(MyClass &x)D. MyClass(MyClass *x) 二、填空题(前16个空,每空1分,后2个空,每空2分,共20分) 1、 类和对象的关系可表述为:类是对象的,而对象则是类 的。 2、在C++中,三种继承方式的说明符号为、 和,如果不加说明,则默认的

18、继承。 3、如果只想保留公共基类的一个复制,就必须使用关键字 把这个公共基类声明为虚基类。 4、若要把void fun()定义为类A的友元函数,则应在类A的定义中加 入语句^ 5、 类 的 静 态 成 员 分 为 和。 6、 运算符重载要求保持其原来的操作数个数、、 和语法结构。 7、 通过关键字可以声明模板,通过关键字指 定函数模板的类型参数,有几个类型参数就有几个类型关键字。 8 、列出C++中两种用户自定义的数据类 型:、。 9 — 构—造函 数 的 作 用 是。 10、后置自增运算符“++”重载为类的成员函数(设类名为A )的形 式为。 三、阅读下面3个程序

19、写出程序运行时输出的结果:(共13分) 1、#include using namespace std; void fun(int &a,int &b) ( int p; p=a; a=b; b=p; } void exchange(int &a,int &b,int &c) ( if(a

22、 return 0;} 3、#include using namespace std; class A { public: A(){cout<<"constructing A "<

23、ructing C "<

24、行重载 friend ostream& operator<< (ostream&, Complex&);//对 “<<”运算符进行重载 friend istream& operator>>(istream&, Complex&);//对 “>>”运算符进行重载 private: double real,imag; };要求:(1)写出该类的所有构造函数的类外定义代码。 (2)写出对运算符“+”、“<<”、">>”进行重载的运算符重载 函数的定义。 2、(17分)下列Shape类是一个表示形状的抽象类,area()为求图形 面积的函数,total()则是一个通用的用以求不同形状

25、的图形面积总 和的函数。 class Shape (public: virtual double area()=0; };double total(Shape *s[ ], int n) (double sum=0.0; for(int i=0; iarea(); return sum; }要求:(1)从Shape类派生圆类(Circle)、正方形类(Square ),圆 类新增数据成员半径(radius ),正方形类新增数据成员边长(a), 圆类和正方形类都有构造函数,修改、显示数据成员值的函数,求面 积函数。 (2 )写出main()

26、函数,计算半径为5.5的圆和边长为9.9的正方 形的面积和(必须通过调用total函数计算)。 C++面向对象程序设计模拟试题八参考答案 一、单项 1-5. D A C A D 6-10. D B C D C 11-15. D C B D B 16-20. A D C C C 二、填空题(前16个空,每空1分,后2个空,每空2分,共20分) 1.抽象 、 实例 2.public 、 private 、 protected 、 private — 3.virtual ———4. friend void fun(A &a)- 5.静态数据成员 、静态成员函数 6.

27、 结合性、 优 先级 7. Template 、class (或 typename) 8. 类、结 构体… 9 .在创建 对象时初始化对 象的数据成员 ——— 10. A operator++(int) 三、阅读程序(共13分) 1、a=89,b=56,c=12 2、12/31/29 12/31/29 1/1/2010 1/1/2010 3、constructing A constructing B constructing C destructing C destructing B destructing A 四、编程题(共27分) 1、(10 分)

28、 Complex::Complex(){real=0;imag=0;} Complex::Complex(double r){real=r;} Complex::Complex(double r,double i){real=r;imag=i;} Complex operator+(Complex &c1,Complex &c2) { Complex c; c.real=c1.real+c2.real; c.imag=c1.imag+c2.imag; return c; } ostream& operator << (ostream& output,Complex& c) { o

29、utput<<"("<> (istream& input,Complex& c) { cout<<"input real and imaginary part of complex number:"; input>>c.real>>c.imag; return input; } 2、(17 分) class Circle:public Shape {public: Circle(double r){radius=r;} void s

30、et() { cout<<"Please input the value of the circle:"<>radius; } void show() ( cout<<"the radius of the circle="<a=a;} void set() (cout<<"Please input the value of a:"<>a; } void show() (cout<<"a="<

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服