




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章综合练习题请提交本文档!姓名 学号一、选择题(20分)1. 已知f1(int)是类A的公有成员函数,p是指向成员函数f1()的指针(int (A:*p)(int);)下列赋值语句中,正确的是( B )A. p=f1;B. p=A:f1;C. p=A:f1()D. p=f1();2. 设有下列说明。如果要给类Sample的对象s中的成员数据m赋值为5,正确的语句是( C )#include class Samplepublic:int m;Sample s;int *p=&s.m;A. s.p=5;B. s-p=5;C. *p=5;D. *s.p=53. 下列定义中,Sample是一个类,( B )是定义指向对象数组的指针p。 A. Sample *p5B. Sample (*p)5C. (Sample *) p5D. Sample *p4. this指针是分配给被调用的成员函数的指针,*this表示( D )。A. 成员函数的形参B. 对象所调用的成员函数C. 成员函数种的数据成员D. 调用成员函数的对象5. 下列有关类和对象的说法中,正确的是( C )A. 类和对象没有区别B. 要为类和对象分配存储空间C. 对象是类的实例,为对象分配存储空间而不为类分配存储空间D. 类是对象的实例,为类分配存储空间而不为对象分配存储空间二、阅读程序题(40分)1. 执行以下程序后,其输出结果是( 102+202i )#include class Complexpublic:float Real,Image;Complex *Add();void Print()coutReal+ImageiAdd();c1.Print();2. 执行以下程序后,输出的第一行是( fun1:7 ),第二行是( fun2:15 )。#include class Apublic:int x;void fun1(int j)x+=j;coutfun1:xendl;void fun2(int j)x+=j;coutfun2:xendl;void main(void)A c1=2,c2=5;void (A:*pf)(int);pf=A:fun1;(c1.*pf)(5);pf=A:fun2;(c2.*pf)(10);三、完善程序题(20分)下列程序中类T的定义包含两个私有成员数据p1和p2,共有成员函数void Init(char *s1,char * s2)的功能是将s1和s2所指向的字符串分别送给p1和p2,成员函数void CopyT(T & t)的功能是将当前对象(指调用该成员函数的对象)的私有成员p1和p2复制给对象t的对应成员变量,成员函数void FreeT()的功能是释放p1和p2的内存空间。请完善下面的程序。#include #include class Tchar *p1,*p2;public:void Init(char *s1, char*s2);void Print()coutp1=p1endlp2=p2endl;void CopyT(T & t) t.Init(p1,p2);void FreeT(void)if(p1) delete p1 ;if(p2) delete p2;void T:Init (char *s1, char *s2)p1=new char strlen(s1)+1;p2=new char strlen(s2)+1;strcpy(p1,s1);strcpy(p2,s2);void main(void)T t1,t2;t1.Init(abc,def);t1.CopyT( t2 );t2.Print();t1.FreeT();t2.FreeT();四、程序设计题(20分)下列是用链表结构实现简单的栈的程序,请补充类stack定义中的Put(int item)和Get()两个成员函数,这两个成员函数的功能分别是将数据入栈和出栈,数据的进出栈按先进后出的原则。#include struct Nodeint a;Node * next;class stackpublic:Node * head;void Put(int item);/将数据item插入到栈中int Get();/从栈中取一个数据void Print();/输出栈中的数据void Destroy();/释放链表的存储空间;void stack:Put(int item)Node *p=head,*pend;if(head=NULL)p=new Node;p-a=item;p-next=NULL;head=p;elsewhile(p-next!=NULL)p=p-next;pend=p;p=new Node;p-a=item;p-next=NULL;pend-next=p;int stack:Get()Node *p1=head,*p2=head;int item;if(head)while(p2-next!=NULL)p1=p2;p2=p2-next;item=p2-a;p1-next=NULL;delete p2;return item;else return 0;void stack:Print()Node *p=head;if(head)while(p)coutanext;coutendl;else coutnext;delete p1;void main(void)stack st=0;st.Put(10);st.Put(12);st.Put(14);cout现在栈中的数据项是:endl;st.Print();cou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025镇村(社区)后备干部选拔考试题及答案
- 出租户安全知识培训课件
- 维护患者合法权益及知情同意培训试题附答案
- 2025生猪配合饲料供应合同
- 免疫检查点阻断研究-洞察及研究
- 出品部安全培训总结课件
- 2025物流公司管理资料范本货运合同
- 企业安全培训讲座内容课件
- 2025茶叶加盟合同茶叶专卖店合作协议
- 冲转安全培训课件
- 2025年三类人员安全员C证继续教育题库及参考答案
- 2025内蒙古锡林郭勒盟公安局招聘警务辅助人员95人考试参考题库附答案解析
- 急性肾小球肾炎
- 工程管理面试题目及答案
- 《一年级开学第一课》课件
- 2025秋人教版(2024)八年级上册英语一学期教学计划
- 会展推广的合同范本
- 武消院火灾调查B讲义01电气火灾调查
- 起搏器植入患者全程护理要点
- (2025年标准)会议代办协议书
- 工贸企业企业安全检查表
评论
0/150
提交评论