C++实验五说课讲解.docVIP

  • 4
  • 0
  • 约3.67千字
  • 约 7页
  • 2020-06-20 发布于浙江
  • 举报
C++实验五 精品文档 精品文档 收集于网络,如有侵权请联系管理员删除 收集于网络,如有侵权请联系管理员删除 精品文档 收集于网络,如有侵权请联系管理员删除 实验 5 异常处理 实验课程名:面向对象程序设计(C++方向) 专业班级: 学号: 姓名: 实验时间: 实验地点: 指导教师: 一、实验目的和要求 (1)正确理解模板的概念。 (2)掌握函数模板和类模板的声明和使用方法。 (3)学习简单的异常处理方法。 二、实验内容 1.分析并调试下列程序,写出运行结果并分析原因。 (1) //test6_1_1.cpp #include iostream using namespace std; templatetypename T T max (T x,T y) { return xy? x:y; } int max(int a,int b) {return ab? a:b; } double max (double a,double b) {return ab? a:b; } int main() { cout”max(‘3’,’7’) is “max(‘3’,’7’)endl; return 0; } (2) //test6_1_2.cpp #include iostream using namespace std; int max(int a,int b) {return ab? a:b; } double max (double a,double b) {return ab? a:b; } int main() { cout”max(‘3’,’7’) is “max(‘3’,’7’)endl; return 0; } 2.编写一个求任意类型数组中最大元素和最小元素的程序,要求将求最大元素和最小元素的函数设计成函数模板。 程序代码: #includeiostream using namespace std; templatetypename T T maxin(T a[],int n) { T max=a[0]; int i; for(i=1;in;i++) { if(maxa[i]) max=a[i]; } cout数组中最大值为:maxendl; T min=a[0]; for(i=1;in;i++) { if(mina[i]) min=a[i]; } cout数组中最小值为:minendl; return 0; } int main() { int a[100]; int i,n; cout请输入数组个数:; cinn; for(i=0;in;i++) { cina[i]; } maxin(a,n); return 0; } 3.编写一个程序,使用类模板对数组元素进行排序、倒置、查找和求和。 【提示】 设计一个类模板 template class Type class Array{ ... }; 具有对数组元素进行排序、倒置、查找和求和功能,然后产生类型实参分别为int型和double型的两个模板类,分别对整型数组与双精度数组完成所要求的操作。 程序代码: #includeiostream using namespace std; templateclass numtype class Array { public: Array(int x) { n=x; } numtype sort(); numtype find(); numtype reserve(); numtype accumulate(); numtype display(); numtype input(); private: numtype s[100]; numtype n; }; //排序 templateclass numtype numtype Arraynumtype::sort() { int i,j; for(i=0;in-1;i++) for(j=i+1;jn;j++) if(s[i]s[j]) { numtype t; t=s[i]; s[i]=s[j]; s[j]=t; } return 0; } templateclass numtype numtype Arraynumtype::find() { int i; numtype j; cout请输入要查

文档评论(0)

1亿VIP精品文档

相关文档