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

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/12071920.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。

注意事项

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

《面向对象程序设计》复习.doc

1、《面向对象程序设计》课程复习 〇、成绩构成 1、平时成绩:15分(考勤+作业) 2、实验成绩:25分(实验+课程设计) 3、考试成绩:60分 一、考试题型 选择题 30分 填空题 20分 判断题 15分 简答 5分 程序分析 20分 程序编写 10分 二、选择题 1. C++代码源文件的扩展名应为 ( B ) A. c B. cpp C.obj D.exe 2. 函数声明为:char fun(int a); float fun(char *p); int

2、fun(int &b); 则以下函数调用语句正确的是 ( C ) A. fun(5) B. int b; fun(&b); C. char *p; fun(p); D. int a; fun(a) 3. 标准输入流对象cin无法读取( C ) A. 数值 B. 字符串 C. 空白字符 D. 字符 4. 不是C++关键字的是( C ) A. mutable B. class C. Friend

3、 D. virtual 5. 通过( A )方法可以在现有类基础上定义新类。 A. 继承 B. 引用 C. 包含 D.封装 6. 成员函数亦可声明为静态的,但是它不能直接访问类的( D )数据成员 A. 私有 B. 静态 C. 常量 D. 非静态 7. 若类B的定义中私有数据成员i为常数据成员,则( B ) A. 数据成员i不能被一般的成员函数所访问 B. 数据成员i的初始化可以在构造函数的函数体中实现 C. 数据成员i可以被常成员函数访

4、问和赋值 D. 以上均不对 8. 在编译时,将所调用的函数代码嵌入到主调函数中,这种嵌入到主调函数中的函数不能称为( D ) A. 内置函数 B. 内联函数 C. 内嵌函数 D. 嵌套函数 9. 存储以下数据,占用存储字节最多的是( D ) A. NULL B. '0' C. "0" D. 0.0 10. 面向对象的程序是( D )两者的组合 A. 算法和数据结构 B. 对象和函数 C. 函数和算法

5、 D. 对象和消息 11. 如果调用带有默认参数的函数时缺少一个参数,则(  C  )参数就作为这一参数 A. 第1个 B. 中间1个 C. 最后一个 D. 系统随机选择 12. 假定A为一个类,则执行 A a, b[2], *p=&a, c(*p);语句后,程序将要结束时,共调用该类析构函数的次数应为( C ) A. 2 B. 3 C. 4 D. 5 13. 已有定义:char * p="ABC";则下面语句正确的是( D ) A

6、 *p="ABC"; B. p[0]="A"; C. p[2]='C'; D. char c=p[1]; 14. 已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明( B ) A. f1和f2都是静态函数 B. f1是静态函数,f2不是静态函数 C. f1不是静态函数,f2是静态函数 D. f1和f2都不是静态函数 15. 下列关于函数模板与类模板的描述中,不正确的是( D ) A. 函数模板的实例化是由编译程序在处理函数调用时自动完成 B. 类模板的实例化必

7、须由程序员在程序中显式的指定 C. 函数模板与类模板均可以显式调用 D. 定义函数模板时可以使用多个类型参数,而类模板不可以 16. 对于语句 cout>>a;,下列描述中不正确的是( C ) A. “cout”是一个输出流对象 B. 该语句错误使用了运算符 C. “>>”称作插入运算符 D. 该语句需要头文件iostream 17. 下面运算符中,不能被重载的运算符是( C ) A. <= B. - C. ?: D. [] 18. 以下不属

8、于面向对象的程序设计语言的是( D ) A. C# B. C++ C. Java D. C 19. 下列关于C++中运算符重载的描述中,错误的是( C ) A. 运算符重载是对已有的运算符赋予多重含义 B. 重载的运算符,其运算对象可以是自定义的数据类型 C. 编译系统对重载运算符的选择,遵循函数模板的选择原则 D. 运算符的重载实质上是函数的重载 20. 假定p所指对象的值为5,p+1所指对象的值为8,则执行“(*p)++;”语句后,p所指对象的值为(  A  ) A. 6

9、 B. 9 C. 5 D. 8 21. 运算符重载时不需要保持的性质是(  B  ) A. 操作数个数 B. 操作数类型 C. 优先级 D. 结合性 22. 已有定义:char *str="abcd";则下面语句正确的是( C ) A. str[0]="a"; B. str[1]='b'; C. char c=str[0]; D. *str="xyzw"; 23. 已知:int k=6;则下列语句中能正确表示引用的是( B )

10、 A. int x=k; B. int &x=k; C. int &x=6; D. int &x=&k; 24. 下列虚基类的声明中,正确的是( A ) A. class B:virtual public A B. class virtual B:public A C. virtual class B:public A D. class B:public A virtual 25. 已有定义virtual int area( )=0;下面关于该函数的解释中正确的是(

11、A ) A. 该函数是纯虚函数 B. 该函数返回值为0 C. 该函数通常在派生函数中声明 D. 该函数的入口地址为0 26. 作为类的成员函数重载一个运算符时,如果参数表为空,通常情况下,说明该运算符有( B )个操作数 A. 0 B. 1 C. 2 D. 3 二、填空题 27. 重载函数在 参数类型 或 参数个数 上不同,但函数名称相同。 28. 若要把变量s定义为短整型变量k的引用,则所使用的定义语为 in

12、t &s = k 。 29. 已有定义const int a=5; 则要定义一个常指针指向该变量a的语句是:const int *p=&a 30. 常对象中的数据成员必须通过___构造__函数才可以访问。 31. 对象将其大部分实现细节隐藏起来,这种机制称为 封装 。 32. C++中,专门用于定义重载运算符的关键字是 operator 。 33. 用于存贮当前被调用的成员函数所在对象的起始地址的指针是___this_____。 34. 如果希望类的成员为该类所有对象所共享,可以使用关键字__static___来修饰。 35. 在C++中,

13、由继承而产生的新类,它的对象对同一个消息会作出不同的响应,这种特性被称为 多态 。 36. 已有类A的定义,其中有成员函数int get_a(){return a;}则定义一个指针指向该函数的写法为 int *p = geta; 。 37. class w{ static char a; char y[2]; int x; double fun(int a){x=a; return 0;} }; 则sizeof(w)的值为 8 。 38. 从系统实现角度看,C++中的动态多态性是通过 虚函数

14、 基类指针 来实现的。 39. 语句 cout< 。 41. 在C++中,用于动态分配内存的运算符是 new 。 42. 在类的定义中,通常用 构造 函数为对象分配内存空间,并可对类的数据成员进行初始化。 43. 在C++中,继承间接共同基类时只保留一份成员的方法是 使用虚基类 。 44. 现有如下定义:int x='B'+2;char y= x>='9'?'C': 'S'; 则y是 ' C

15、 '。 45. 假设类X的对象x是类Y的成员对象,则“Y Obj;”语句执行时,先调用类_____X____的构造函数,再调用类_____Y___的构造函数;而在程序结束析构时,先调用类____Y______的析构函数,再调用类_____X____的析构函数。 46. 对象的概念中,有静态和动态两种特征,其中静态特征称为 属性 ,可由数据表示,而动态特征称为行为,可由 方法 表示。 47. 继承关系可以是public、 protected 和private。 三、判断题 48. 常数据成员只能通过构造函数的初始化表初始化。 1

16、49. 类所占空间为数据成员和成员函数所占空间之和。 0 50. char *str="abcd";执行str[0]='s';语句后,字符串变为"sbcd"。 0 51. 类的析构函数在删除对象时调用,并可以重载。 0 52. 构造函数不能声明为虚函数,而析构函数可以声明为虚函数。 1 53. 用来存放对象地址的指针变量,可称为指向对象的指针。 1 54. 字符串" CDU"的长度是3,因此占用了3个字节的内存空间。 0 55. 多重继承出现的二义性可以用作用域限定的方法消除。 1 56. <<运算符可以被

17、重载,且可以提升优先级。 0 57. 无论何种继承形式,派生类均不能直接访问基类的私有成员。 1 58. C++中,定义类的关键字是public。 0 59. 抽象类定义的目的是用它作为基类去建立派生类。 0 60. 常对象中的数据成员就是常数据成员。 0 61. 对象基本特点有耦合性、多态性、继承性和封装性。 0 62. 构造函数有返回值,而析构函数没有返回值。 0 63. 类定义的公用数据成员x,在类外可以直接赋值,如x=5; 0 64. 若想输出时,数据

18、靠右,并指定字段宽度为6,可用控制符setw(6)。 1 65. 不出现类名,也可以直接定义对象。 1 四、简答题 66. C++语言中,构造一个派生类需要做哪些工作? 先声明一个基类,然后再声明一个类并且继承至我们的基类。这时我们的这个类就是基类的派生类。 67. 什么是纯虚函数,什么情况下用到纯虚函数? 纯虚函数是没有实现,只有声明的函数。纯虚函数一般用到抽象基类中,让每一个抽象基类的派生类都有一个公共的接口。即该纯虚函数。 68. 什么叫虚基类,它的主要作用是什么? 基类的派生类通过virtual方式继承,那么这个基类就是虚基类。虚基类是为了保

19、证在继承间接共同基类时只保留一份成员。 69. 如果重载运算符要满足交换律,有哪些方法实现? 以友元函数的方式重载运算符。 70. 类模板有什么作用?如何声明一个类模板。 建立一个抽象的通用类。类型暂时不定,当调用的时候才指定。这样减少了代码量,增加了类的灵活性。声明一个类模板需要在一个类的声明前加上template 71. 已知有类Test,公用成员函数display( ); 简要解释语句Test stu1; stu1.display( ); 并指出语句中的“对象”、“方法”和“消息”。 stu1是一个对象 ,disp

20、lay()是一个方法 stu1.display()就是一个消息 72. 用C++语言实现如下功能:用new分配一个字符串,名称为s。并将"C++"存放到该字符串s中,最后释放该内存。 string *s = new string(“C++”);delete(s); 73. 假定有一个类,名称为A,有1个整形数据成员x。请写出该类析构函数和2个构造函数。 ~A(){} A(){} A(int x):x(x){} 74. 假定有一个类,名称为B,是由类A保护继承而来,根据基类成员在派生类中的访问属性,填写下表。 在基类的访问属性 在派生类的访问属性 私有 不可访问

21、公有 保护 保护 保护 五、程序分析题 75. 下面程序中有一处错误,请用下划横线标出错误所在行并说明出错原因。 float a(int x,int y) {float z; z=x+y; return z;} int a(float x,float y) { int z;z=x-y; return z;} int main() { int i=3;float j=3.5; cout<

22、6. 阅读程序,在横线处填上适当字句。 #include #include using namespace std; template //声明一个类模板,虚拟类型名为type class A { type x,y; public:A(type a, type b){x=a;y=b;} type cmp(){return ( x+y );} }; int main(){ A cp1(6.6,3.6); A cp2("1

23、2","34"); cout<

24、b(8,8); } 输出结果为: 88 is deleted. 56 is deleted. 78. 阅读程序,在下划横线处填写适当字句。 class A{ char a; short b; public: void out(){ a=20;b=40; char *p; p = &a; cout << "a="<<(short)(*p++) <<'\t'<< "b=" << b << endl; } }; int main() { A test; test.out(); cout<<"the siz

25、e of test is:"<< sizeof(test) <0;y--;) if(y%3==0) cout<

26、 80. 阅读程序,在下划横线处填写适当字句。 class A{ const int a; static int b; public: A(int x):a(x){} //构造函数,用变量x初始化数据成员a int get_a() const {return a;} int get_a() {return a+b;} }; //用常数333初始化数据成员b int  main() {  const A test1(111); A test2(2

27、22); cout<

28、ublic B1,public B2 //C类由直接基类B 1和B 2公有派生 { public: Derived() {} void Init(int b) { B1::a = b; ; //b赋给基类B1的a成员 } }; 82. 下面程序中有一处错误,请用下横线标出错误所在行并说明出错原因。 class base { public: int x; }; class One:public base{}; class Two:public base{}; class

29、 OT:public One,public Two{ public: int func(); }; void main() { OT p; p.base::x; p.base::x不明确 } 六、编程题 83. 假定有一个类,名称为A,有1个字符型的数据成员c和1个整形数据成员x。请写出该类的至少2个不同的构造函数形式。 class A { public: char c; int x; A(){}只写这几行就可以了 A(char c):c(c){} A(int

30、 x):x(x){} A(char c,int x):c(c),x(x){} } 84. 分别用new和malloc()分配一个有5个元素的整形数组,名称为a。 int *a; a = new int[5]; a = (int *)malloc(5*sizeof(int)); 85. 完成一个求圆面积的小程序,要求如下: ① 定义一个基类:点类(Dot),包括x坐标和y坐标(公有或保护),从它派生一个圆类(Circle),增加私有数据成员r(半径); class Dot { public: int x; int y; } class Circle:pub

31、lic Dot { private: int r; Circle(int r,int x = 0,int y = 0):r(r),x(x),y(y){} void input() { cout<<”输入圆的圆心横纵坐标和半径:”<

32、标为(6,6),半径为5。使用对象crc的函数成员area计算面积,主函数输出结果。 void main() { Circle *crc; crc = new Circle(5,6,6); cout<<”圆的面积为:”crc->area<

33、有一成员函数为输出函数,用于输出所有数据成员; ⑥主函数用自己的信息定义一个学生对象,并输出该信息。 class People { public: int age; char name[20]; char sex; People(int age,char *&name,char *&sex) { age = age; strcpy(name,name); strcpy(sex,sex); } } class Student:public People { public: int score; Student(int age,char *&name,char *&sex,int score):People(age,name,sex),score(score){} void display() { cout<<”姓名:”<display(); }

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服