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

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-2724380.html】到电脑端继续下载(重复下载不扣费)。

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《面向对象程序设计》C++综合练习(学生版 ) - 最新版1.doc)为本站会员(dzzj200808)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

《面向对象程序设计》C++综合练习(学生版 ) - 最新版1.doc

1、C+面向对象程序设计习题册姓名 学号 学院 班级 1第三章 类和对象练习一一、选择题1. 在一个类的定义中,包含有( )成员的定义。A. 数据 B. 函数 C. 数据和函数 D. 数据或函数2. 在类作用域中能够通过直接使用该类的( )成员名进行访问。A. 私有 B. 公用 C. 保护 D. 任何3. 假定 AA 为一个类,a 为该类公有的数据成员,x 为该类的一个对象,则访问 x 对象中数据成员 a 的格式为( ) 。A. x(a) B. xa C. x-a D. x.a4. 假定 AA 为一个类, a()为该类公有的函数成员,x 为该类的一个对象,则访问 x 对象中函数成员 a()的格式为

2、( ) 。A. x.a B. x.a() C. x-a D. x-a()5. 假定 AA 为一个类,a 为该类公有的数据成员,px 为指向该类对象的一个指针,则访问 px 所指对象中数据成员 a 的格式为( ) 。A. px(a) B. pxa C. px-a D. px.a6. 假定 AA 为一个类,a 为该类私有的数据成员,GetValue()为该类公有函数成员,它返回 a 的值,x 为该类的一个对象,则访问 x 对象中数据成员 a 的格式为( ) 。A. x.a B. x.a() C. x-GetValue() D. x.GetValue()7. 假定 AA 为一个类,int a()为该

3、类的一个成员函数,若该成员函数在类定义体外定义,则函数头为( ) 。A. int AA:a() B. int AA:a() C. AA:a() D. AA:int a()8. 假定 AA 为一个类,a 为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为( ) 。A. a B. AA:a C. a() D. AA:a()9. 若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。A. in B. inline C. inLine D. InLiner10. 在多文件结构的程序中,通常把类的定义单独存放于( )中。A. 主文件 B. 实现文

4、件 C. 库文件 D. 头文件11. 在多文件结构的程序中,通常把类中所有非内联函数的定义单独存放于( )中。A. 主文件 B. 实现文件 C. 库文件 D. 头文件12. 在多文件结构的程序中,通常把含有 main()函数的文件称为( ) 。A. 主文件 B. 实现文件 C. 程序文件 D. 头文件13. 在 C+程序中使用的 cin 标识符是系统类库中定义的( )类中的一个对象。A. istream B. ostream C. iostream D. fstream14. 在 C+程序中使用的 cout 标识符是系统类库中定义的( )类中的一个对象。A. istream B. ostrea

5、m C. iostream D. fstream215. 假定 AA 是一个类,abc 是该类的一个成员函数,则参数表中隐含的第一个参数的类型为( ) 。A. int B. char C. AA D. AA*16. 假定 AA 是一个类,abc 是该类的一个成员函数,则参数表中隐含的第一个参数为( ) 。A. abc B. *this C. this D. this”是该类中一个成员函数的原型,若该函数存在对*this 赋值的语句,当用 x.abc()调用该成员函数后,x 的值( ) 。A. 已经被改变 B. 可能被改变C. 不变 D.不受函数调用的影响18. 假定 AA 是一个类, “AA*

6、 abc()const;”是该类中一个成员函数的原型,若该函数返回 this 值,当用x.abc()调用该成员函数后, x 的值( ) 。A. 已经被改变 B. 可能被改变C. 不变 D. 受到函数调用的影响19. 类中定义的成员默认为( )访问属性。A. public B. private C. protected D. friend20. 结构中定义的成员默认为( )访问属性。A. public B. private C. protected D. friend二、程序填充题1. 已知一个类的定义如下:#includeclass AA int a10;int n;public:void S

7、etA(int aa, int nn); /用数组 aa 初始化数据成员 a,用 nn 初始化数据成员 nint MaxA(); /从数组 a 中前 n 个元素中查找最大值void SortA(); /采用选择排序的方法对数组 a 中前 n 个元素,进行从小到大排序void InsertA();/采用插入排序的方法对数组 a 中前 n 个元素进行从小到大排序void PrintA(); /依次输出数组 a 中的前 n 个元素;该类中 MaxA()函数的实现如下,请在标号位置补充适当的内容。int _(1)_ int x=a0;for(int i=1; ix) _(2)_;_(3)_;2. 已知

8、一个类的定义如下:#includeclass AA int a10;int n;public:void SetA(int aa, int nn); /用数组 aa 初始化数据成员 a,用 nn 初始化数据成员 nint MaxA(); /从数组 a 中前 n 个元素中查找最大值void SortA(); /采用选择排序的方法对数组 a 中前 n 个元素,进行从小到大排序3void InsertA();/采用插入排序的方法对数组 a 中前 n 个元素进行从小到大排序void PrintA(); /依次输出数组 a 中的前 n 个元素;void AA:SortA()int i,j;for(i=0;

9、 _(1)_; i+) int x=ai, k=i;for(j=i+1; jclass AA int a10;int n;public:void SetA(int aa, int nn); /用数组 aa 初始化数据成员 a,用 nn 初始化数据成员 nint MaxA(); /从数组 a 中前 n 个元素中查找最大值void SortA(); /采用选择排序的方法对数组 a 中前 n 个元素,进行从小到大排序void InsertA();/采用插入排序的方法对数组 a 中前 n 个元素进行从小到大排序void PrintA(); /依次输出数组 a 中的前 n 个元素;void _(1)_

10、int i,j;for(i=1; i=0; j-)if(x#include class CD char* a;int b;public:void Init(char* aa, int bb)4a=new charstrlen(aa)+1;strcpy(a,aa);b=bb;char* Geta() return a;int Getb() return b;void Output() cout#include class CD char* a;int b;public:void Init(char* aa, int bb)a=new charstrlen(aa)+1;strcpy(a,aa);b

11、=bb;char* Geta() return a;int Getb() return b;void Output() coutms) coutms) couta C. s.a D. *s11. 假定 AB 为一个类,则执行 “AB r1=r2;”语句时将自动调用该类的( )。A. 无参构造函数 B. 带参构造函数 C. 赋值重载函数 D. 拷贝构造函数12. 若需要使类中的一个指针成员指向一块动态存储空间,则通常在( ) 函数中完成。A. 析构 B. 构造 C. 任一成员 D. 友元13. 当类中的一个整型指针成员指向一块具有 n*sizeof(int)大小的存储空间时,它最多能够存储( )

12、个整数。A. n B. n+1 C. n-1 D. 114. 假定一个类的构造函数为 “A(int aa, int bb) a=aa; b=aa*bb;”,则执行 “A x(4,5);”语句后,x.a 和 x.b的值分别为( )。A. 4 和 5 B. 5 和 4 C. 4 和 20 D. 20 和 515. 假定一个类的构造函数为 “A(int aa=1, int bb=0) a=aa; b=bb;”,则执行 “A x(4);”语句后,x.a 和x.b 的值分别为( )。A. 1 和 0 B. 1 和 4 C. 4 和 1 D. 4 和 016. 假定 AB 为一个类,则( ) 为该类的拷贝

13、构造函数的原型说明。A. AB(AB x); B. AB(AB C. void AB(AB D. AB(int x);17. 假定一个类的构造函数为 “B(int ax, int bx): a(ax), b(bx) ”,执行 “B x(1,2),y(3,4);x=y;”语句序列后7x.a 的值为( )。A. 1 B. 2 C. 3 D. 418. 假定一个类 AB 只含有一个整型数据成员 a,当用户不定义任何构造函数时,系统为该类定义的无参构造函数为( )。A. AB() a=0; B. AB(int aa=0): a(aa) C. AB(int aa): a(aa) D. AB() 19.

14、假定一个类 AB 只含有一个整型数据成员 a,用户为该类定义的带参构造函数可以为( ) 。A. AB() B. AB(): a(0)C. AB(int aa=0) a=aa; D. AB(int aa) 20. 对于任一个类,用户所能定义的构造函数的个数至多为( ) 。A. 0 B. 1 C. 2 D. 任意个二程序填充题1. 已知一个类的定义如下:#includeclass AA int a10;int n;public:void SetA(int aa, int nn); /用数组 aa 初始化数据成员 a,用 nn 初始化数据成员 nint MaxA(); /从数组 a 中前 n 个元素

15、中查找最大值void SortA(); /采用选择排序的方法对数组 a 中前 n 个元素,进行从小到大排序void InsertA();/采用插入排序的方法对数组 a 中前 n 个元素进行从小到大排序void PrintA(); /依次输出数组 a 中的前 n 个元素,最后输出一个换行;使用该类的主函数如下:void main()int a10=23,78,46,55,62,76,90,25,38,42;AA x; _(1)_;int m=_(2)_;_(3)_;coutclass AA int a10;int n;public:void SetA(int aa, int nn); /用数组

16、aa 初始化数据成员 a,用 nn 初始化数据成员 nint MaxA(); /从数组 a 中前 n 个元素中查找最大值8void SortA(); /采用选择排序的方法对数组 a 中前 n 个元素,进行从小到大排序void PrintA(); /依次输出数组 a 中的前 n 个元素,最后输出一个换行;使用该类的主函数如下:void main()int a10=23,78,46,55,62,76,90,25,38,42;_(1)_; x.SetA(a,8);int _(2)_;_(3)_;x.PrintA();cout9class CE private:int a,b;int getmax()

17、 return (ab? a:b);public:int c;void SetValue(int x1,int x2, int x3) a=x1; b=x2; c=x3;int GetMax();int CE:GetMax() int d=getmax();return (dc? d:c);void main()int x=5,y=12,z=8;CE ex, *ep=ex.SetValue(x,y,z);coutSetValue(x+y,y-z,20);coutGetMax()class CE private:int a,b;int getmin() return (aSetValue(x+y

18、,y-z,10);coutGetMin()ms) coutms) coutclass Franction /定义分数类int nume; /定义分子int deno; /定义分母public:/把*this 化简为最简分数,具体定义在另外文件中实现void FranSimp(); /返回两个分数*this 和 x 之和,具体定义在另外文件中实现Franction FranAdd(const Franction/置分数的分子和分母分别 0 和 114void InitFranction() nume=0; deno=1;/置分数的分子和分母分别 n 和 dvoid InitFranction(i

19、nt n, int d) nume=n; deno=d;/输出一个分数void FranOutput() coutclass Franction /定义分数类int nume; /定义分子int deno; /定义分母public:/把*this 化简为最简分数,具体定义在另外文件中实现void FranSimp(); /返回两个分数*this 和 x 之和,具体定义在另外文件中实现Franction FranAdd(const Franction/置分数的分子和分母分别 0 和 1void InitFranction() nume=0; deno=1;/置分数的分子和分母分别 n 和 dvo

20、id InitFranction(int n, int d) nume=n; deno=d;/输出一个分数void FranOutput() coutms) coutms) cout#includeclass A int *a; int n; int MaxLen;public:A(): a(0), n(0), MaxLen(0) A(int *aa, int nn, int MM) n=nn;MaxLen=MM;if(nMaxLen) exit(1);17_(1)_; /由 a 指向长度为 MaxLen 的动态数组for(int i=0; i#includeclass A int *a; i

21、nt n; int MaxLen;public:A(): a(0), n(0), MaxLen(0) A(int *aa, int nn, int MM) n=nn;MaxLen=MM;if(nMaxLen) exit(1);a=new intMaxLen;_(1)_; /以 i 为循环变量把 aa 数组中每个元素值/传送给 a 数组的对应元素中 A();int GetValue(int i) return ai; /函数体返回 ai的值;_(2)_ /析构函数的类外定义void main()int b10=1,2,3,4,5,6,7,8,9,10;A r(b,10,10);int i,s=0

22、;_(3)_ ; /以 i 为循环变量,把 r 对象的 a 数据成员中的/每个元素值依次累加到 s 中cout#includeclass A char *a;public:A(char *s) a=new charstrlen(s)+1;strcpy(a,s);cout19class A int *a;public:A(int x=0):a(new int(x)A() delete a;int getA() return *a;void setA(int x) *a=x;void main() A x1,x2(3);A *p=p-setA(x2.getA()+5);x1.setA(15+x1.

23、getA();coutclass A int a;public:A(int aa=0): a(aa) coutclass A int a,b;public:A() a=b=0;A(int aa, int bb) a=aa; b=bb;int Sum() return a+b;int* Mult() int *p=new int(a*b);return p;20;void main() int *k;A x(2,3), *p; p=new A(4,5);coutSum()Mult()class A int a10; int n;public:A(int aa, int nn): n(nn) fo

24、r(int i=0; iclass A int a,b; public:A(int aa, int bb) a=aa; b=bb;float Multip(char op) switch(op) case +: return a+b;case -: return a-b;case *: return a*b;case /: if(b!=0)return float(a)/b;21else coutms) coutx)t=x;x=y;y=t;int Variance()return x*x-y*y; /其它函数从略;void main() A_class A_obj(3,5);coutclass

25、 Point int x,y;public:29Point(int x1=0, int y1=0) :x(x1), y(y1) cout#include class Point int x,y;public:Point(int x1=0, int y1=0) :x(x1), y(y1) cout“Point:“x yn;Point() cout“Point des!n“;class Text char text100;/文字内容public:Text(char * str) strcpy(text,str);cout“Text con!n“;Text() cout“Text des!n“;class CircleWithText : public Point,public Text public:CircleWithText(int cx,int cy, char *msg):

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报