




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
福 建 工 程 学 院实 验 报 告面向对象程序设计(C+)专 业 电子信息工程 班 级 1303 座 号 姓 名 日 期 2015-12-01 实验六 函数模板,类模板和标准模板库一、 实验目的:掌握函数模板、类模板的格式、语法及应用。掌握标准模板库的应用。二、 实验时间:2015-12-01三、 实验地点:C2-101四、 实验内容:1编写函数模板:编写一求两个数的最大值的函数Max(),要求用模板实现对任意数据类型数据都可应用该函数求取结果,在main()函数中分别用整型、实型、字符型数据进行测试。#include using namespace std;template T Max (T x, T y) return xy?x:y;int main() int x1=10,x2=20;double d1=15.123,d2=19.0321;char c1=a,c2=y;coutMax(10,20):Max(x1,x2)endl;coutMax(15.123,19.0321):Max(d1,d2)endl;coutMax(a,y):Max(c1,c2)endl;return 0; 2.编写一冒泡排序的函数模板: 函数的定义为:template void SortBubble ( ElementType *a , int size ),完成该函数并在main()中调用。#include using namespace std;template void SortBubble ( ElementType *a , int size )int i, work ;ElementType temp ;for (int pass = 1; pass size; pass + ) work = 1;for ( i = 0; i ai+1 ) temp = ai ; ai = ai+1 ; ai+1 = temp ; work = 0 ; if ( work ) break ; int main() int arr5 = 3,12,2,10,0;SortBubble(arr,5);coutarr0 arr1 arr2 arr3 arr4 endl;double dArr4 = 1.20,5.62,3.012,8.101;SortBubble(dArr,4);coutdArr0 dArr1 dArr2 dArr3 endl;char cArr3 = s,d,w;SortBubble(cArr,3);coutcArr0 cArr1 cArr2 endl;return 0; 3. 类模板操作: 有以下类模板 template /类模板:实现对任意类型数据进行存取class Store private: T item; / 用于存放任意类型的数据 int haveValue; / 用于标记item是否已被存入内容 public: Store(void); / 默认形式(无形参)的构造函数 T GetElem(void); /提取数据函数 void PutElem(T x); /存入数据函数;请实现并测试该类。#include #include using namespace std;struct People string name;int age;class Dog public:string name;public:Dog() Dog(string n):name(n) void wang() coutWang Wang。;template class Store private: T item; int haveValue; public: Store(void); T GetElem(void); void PutElem(T x); ;templateStore:Store(void):haveValue(0) templatevoid Store:PutElem(T x) haveValue=1;item = x;templateT Store:GetElem(void) if(haveValue = 0) coutNo item present!endl;exit(1);return item;int main() /int 类型Store i1,i2;i1.PutElem(5);i2.PutElem(999);couti1.GetElem() i2.GetElem()endl;/People 类型People p = Tom,20;Storeps;ps.PutElem(p);coutName is:ps.GetElem().name age is:ps.GetElem().ageendl;/Dog 类型Dog d(snoopy);Storeds;ds.PutElem(d);coutDogs name is :ds.GetElem().nameendl;/double 类型Stored1,d2;d1.PutElem(3.14159);coutd1.GetElem()endl;coutd2.GetElem()endl;return 0;4. 应用标准模板库的容器进行编程: 类A的定义如下,对进行重载,请补全该类,并在main()中测试对容器对象的应用程序: include #include class A private:int n;public:friend bool operator (const A &, const A &);A(int n_ ) n = n_ ; ; 五、 实验要求: 在上机前写出全部源程序; 六、实验结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电商直播运营策略升级指南:2025年流量转化与用户粘性提升方案
- 家禽市场服务创新创业项目商业计划书
- 市场情报与竞争分析创新创业项目商业计划书
- 2025年无人机物流配送路径仿真技术在智能交通中的创新实践
- 心理健康社群支持创新创业项目商业计划书
- 宠物食品自动贩卖机创新创业项目商业计划书
- 2025年安全生产用电试题及答案
- 土地承包及土地流转课件
- 电商直播基地项目2025年市场细分与竞争格局研究报告
- 彩钢瓦轻钢屋面施工方案
- 2025-2030全球及中国工程CAD软件行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 安检机租赁合同协议范本
- 塔吊前臂临近高压线处理方案
- 某卫生院员工手册
- T∕CACM 008-2018 中医药单用联合抗生素治疗常见感染性疾病临床实践指南 急性咽炎
- 消防设施操作员自测试题及答案
- 2025年上半年湖北十堰竹山招募三支一扶高校毕业生聘用为事业单位人员12人易考易错模拟试题(共500题)试卷后附参考答案
- 职业暴露的预防及处理课件
- 餐饮服务明厨亮灶建设工作方案
- 私人二手摩托车转让合同范本
- 企业形象策划服务合同范本
评论
0/150
提交评论