




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告课程名称面向对象程序设计系 别机械与电子工程系班 级N电信-091F学生姓名邓建平07学 号24092200003任课教师齐 琦南湖学院教务办实验一 C+语言对C语言的扩充一、 实验目的(1)掌握C+语言在结构化程序设计方面对C语言的扩充.(2)进一步掌握程序的调试方法.二、 实验内容题目一: 定义一个函数,比较两个数的大小,形参分别使用指针和引用。注意:请定义两个函数分别实现,其一传递两个指针作为参数,其二传递两个引用作为参数代码: #includevoid compare(int &x,&y);void main()int x = 5 ,y = 6 ;coutbrfore compare,x:x ,y:yry) coutyendl;elsecoutxendl;题目二:求不同类型的三个数的最大值,要求:(1)使用重载函数和函数模板两种方法;(2)使用带缺省参数的函数注意:请使用两种方法实现,其一为函数重载,分别定义重载函数,传三个int,三个float,和三个double类型的值。其二为函数模板。代码:(1)函数模板template T maxof3(T a, T b, T c) return (ab?a:b)c?(ab?a:b):c;拆开来就是这样的:template T maxof3(T a, T b, T c) T max = ab?a:b; /找出a,b中最大的赋值给max return maxc?max:c; /在比较max和c大小,返回大者(2)函数重载#includeusing namespace std;int main()int max(int &,int &,int &);int max(int &a,int &b);int max(int &a,int &b,int &c);int i,j,k;cout请输入三个数:;coutijk;cout三个数的最大值为:max(i,j,k)endl;cout前两个数的最大值为:max(i,j)y) t=x; else t=y;if(tz) return t;else return z; int max(int &x,int &y) if(xy) return x; else return y;若用float和double 只需要在将上程序(2)中的 int 改为 float 和double 即可。题目三:创建一个学生链表,进行链表的插入、删除、查找操作,要求:使用new和delete进行动态内存的分配和释放。注意:请回忆链表的结构及其插入删除方式。链表中插入与删除的均为学生类对象。代码: #include #include using namespace std; /学生类 class student public: student() cout 请依次输入学生姓名、学号、成绩,中间用空格隔开nameidscore; void show() cout 姓名: name 学号: id成绩:next=head; head=p; return head; void print() student *p=head; while(p!=NULL) p-show(); p=p-next; student* insert(int index) /插入 student* ps=new student; student* pt=find(index); if(index=0) ps-next=head; head=ps; else ps-next=pt-next; pt-next=ps; print(); return head; student* find(int index) /查找 int n=0; student* p=head; while(n!=index&p!=NULL) n+; p=p-next; return p; void sort() /排序 student* p=head; student* q=head; for(p=head;p!=NULL;p=p-next) for(q=head;q!=NULL;q=q-next) if(p-scoreq-score) string temp1; int temp2; double temp3; temp1=p-name; p-name=q-name; q-name=temp1; temp2=p-id; p-id=q-id; q-id=temp2; temp3=p-score; p-score=q-score; q-score=temp3; print(); student* Delete(int index) student* pt=find(index); int index1=index-1; student*p=find(index1); if(pt=head) head=head-next; delete pt; else int index1=index-1; student*p=find(index1); p-next=pt-next; delete pt; print(); return head; ; void main() List A; int a; int b; A.init(); cout 当你输入1时表示要插入,输入2时表示删除,输入0时表示结束 endl; couta&a!=0) switch(a) case 1: cout b; A.insert(b); break; case 2: cout b; A.Delete(b); break; default:cout 输入错误 endl; A.sort(); 三、 实验总结 1.可采用的设计方法:根据题目,本次实验主要运用的是C+中的一些特性,人函数模板,和重载函数。而此外要想实现这些题目,通过C语言也可以完成,但相对C语言而言,C+更易于操作完成。2.实验的关键点:本次实验,主要对象是C+语言对C语言的扩充,而在这里这里最关键的是要了解C+与C语言的一些区别,和类同点。+是一种混合型的面向对象程序设计语言 ,是语言的扩充。它具有对传统语言的向后兼容性 ,很多语言编写的程序稍加改造就可以重用 ,许多有效的算法也可以继续利用 ;又具有独特的面向对象特征 ,可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 掘金考试题库及答案解析
- 森林防火知识培训资料课件
- 梧州靠谱的法律知识培训课件
- 2025年市场营销岗位面试宝典与模拟题答案
- 桥梁知识义教课件
- 2025小儿外科、小儿骨科护士护理理论考试试题及答案
- 2025年市场调研员招聘面试预测题及数据分析技巧
- 2025注册验船师资格考试(C级船舶检验专业案例分析)经典试题及答案二
- 2026届上海中学、复旦附中等八校高三化学第一学期期末质量检测试题含解析
- 2025年软件开发工程师中级面试题库及答案解析
- 二手医疗器械市场的现状与发展趋势
- 氧气安全培训
- 江苏省镇江市京口区2025年小升初模拟数学测试卷含解析
- 2025-2030吉林省生活垃圾清运和处理行业市场发展分析及发展前景与投资研究报告
- 预制菜产业园可行性报告
- 部编版语文四年级上册第一单元大单元教学设计
- 工程师职称-个人业务自传
- GB/T 3917.3-2025纺织品织物撕破性能第3部分:梯形试样撕破强力的测定
- 典当黄金合同标准文本
- 内镜中心标本遗失警示教育
- 高中数学(沪教版)知识点梳理
评论
0/150
提交评论