欢迎来到天天文库
浏览记录
ID:6926073
大小:112.50 KB
页数:8页
时间:2018-01-31
《函数模板与异常处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《C++面向对象程序设计》实验报告实验序号:5 实验项目名称:模板与异常处理学 号1107012143姓 名卢卉雯专业2011计算机科学与技术实验地点1#316指导教师吴芸实验时间2012-5-22一、实验目的及要求(1)正确理解模板的概念;(2)掌握函数模板和类模板的声明和使用方法;(3)学习简单的异常处理方法;二、实验设备(环境)及要求MicorsoftVisualC++6.0三、实验内容与步骤(题目、算法和结果描述)1、调试下列程序,写出程序的输出结果并分析原因。(1)#includeusingnames
2、pacestd;templateTmax(Tx,Ty){returnx>y?x:y;}intmax(inta,intb){returna>b?a:b;}doublemax(doublea,doubleb){returna>b?a:b;}intmain(){cout<<"max('3','7')is"<3、’和’7’均是字符型,找不到与之匹配的函数,所以调用了函数模板,使其实例化,由’T’型转变为’char’型。(2)#includeusingnamespacestd;intmax(inta,intb){returna>b?a:b;}doublemax(doublea,doubleb){returna>b?a:b;}intmain(){cout<<"max('3','7')is"<4、值的函数,这两个同名函数重载.’3’和’7’均是字符型,找不到与之匹配的函数,所以得不出正确结果。2、编写一个求任意类型数组中最大元素和最小元素的程序,要求将求最大元素和最小元素的函数设计成函数模板。【运行结果截图】:3、编写一个程序,使用类模板对数组元素进行排序、倒置、查找和求和。【提示】:设计一个类模板。TemplateClassArray{…}具有对数组元素进行排序、倒置、查找和求和功能,然后产生类型实参分别为int型和double类型的两个模板类,分别对整型数组和双精度数组完成所要求的操作【运行结果截图】:4、5、编写程序,求输入数的平方根。设置异常处理,对输入负数的情况给出提示。【运行结果截图】:5、结合数据结构“线性表”的知识和课本例题6.8,采用C++面向对象程序设计实现“线性表”。四、分析与讨论(记录实验过程中出现的主要问题和心得体会)1.在使用非模板函数时要注意输入的语句应符合函数的类型,或者定义一个函数模板使其实例化,否则无法得出正确结论。2.对异常处理有了一些理解,但不知道异常处理(如第4题)可以循环吗?3.对用类模板实现线性表不是很懂.五、教师评语成绩签名:日期:附:程序源代码1、(1)#includeusingn6、amespacestd;templateTmax(Tx,Ty){returnx>y?x:y;}intmax(inta,intb){returna>b?a:b;}doublemax(doublea,doubleb){returna>b?a:b;}intmain(){cout<<"max('3','7')is"<usingnamespacestd;intmax(inta,intb){returna>b?a:b;}double7、max(doublea,doubleb){returna>b?a:b;}intmain(){cout<<"max('3','7')is"<usingnamespacestd;templateTmax(T*x,intn){Tmax=x[0];for(inti=1;ix[i]?max:x[i];returnmax;}templateTmin(T*x,intn){Tmi8、n=x[0];for(inti=1;i
3、’和’7’均是字符型,找不到与之匹配的函数,所以调用了函数模板,使其实例化,由’T’型转变为’char’型。(2)#includeusingnamespacestd;intmax(inta,intb){returna>b?a:b;}doublemax(doublea,doubleb){returna>b?a:b;}intmain(){cout<<"max('3','7')is"<4、值的函数,这两个同名函数重载.’3’和’7’均是字符型,找不到与之匹配的函数,所以得不出正确结果。2、编写一个求任意类型数组中最大元素和最小元素的程序,要求将求最大元素和最小元素的函数设计成函数模板。【运行结果截图】:3、编写一个程序,使用类模板对数组元素进行排序、倒置、查找和求和。【提示】:设计一个类模板。TemplateClassArray{…}具有对数组元素进行排序、倒置、查找和求和功能,然后产生类型实参分别为int型和double类型的两个模板类,分别对整型数组和双精度数组完成所要求的操作【运行结果截图】:4、5、编写程序,求输入数的平方根。设置异常处理,对输入负数的情况给出提示。【运行结果截图】:5、结合数据结构“线性表”的知识和课本例题6.8,采用C++面向对象程序设计实现“线性表”。四、分析与讨论(记录实验过程中出现的主要问题和心得体会)1.在使用非模板函数时要注意输入的语句应符合函数的类型,或者定义一个函数模板使其实例化,否则无法得出正确结论。2.对异常处理有了一些理解,但不知道异常处理(如第4题)可以循环吗?3.对用类模板实现线性表不是很懂.五、教师评语成绩签名:日期:附:程序源代码1、(1)#includeusingn6、amespacestd;templateTmax(Tx,Ty){returnx>y?x:y;}intmax(inta,intb){returna>b?a:b;}doublemax(doublea,doubleb){returna>b?a:b;}intmain(){cout<<"max('3','7')is"<usingnamespacestd;intmax(inta,intb){returna>b?a:b;}double7、max(doublea,doubleb){returna>b?a:b;}intmain(){cout<<"max('3','7')is"<usingnamespacestd;templateTmax(T*x,intn){Tmax=x[0];for(inti=1;ix[i]?max:x[i];returnmax;}templateTmin(T*x,intn){Tmi8、n=x[0];for(inti=1;i
4、值的函数,这两个同名函数重载.’3’和’7’均是字符型,找不到与之匹配的函数,所以得不出正确结果。2、编写一个求任意类型数组中最大元素和最小元素的程序,要求将求最大元素和最小元素的函数设计成函数模板。【运行结果截图】:3、编写一个程序,使用类模板对数组元素进行排序、倒置、查找和求和。【提示】:设计一个类模板。TemplateClassArray{…}具有对数组元素进行排序、倒置、查找和求和功能,然后产生类型实参分别为int型和double类型的两个模板类,分别对整型数组和双精度数组完成所要求的操作【运行结果截图】:4、
5、编写程序,求输入数的平方根。设置异常处理,对输入负数的情况给出提示。【运行结果截图】:5、结合数据结构“线性表”的知识和课本例题6.8,采用C++面向对象程序设计实现“线性表”。四、分析与讨论(记录实验过程中出现的主要问题和心得体会)1.在使用非模板函数时要注意输入的语句应符合函数的类型,或者定义一个函数模板使其实例化,否则无法得出正确结论。2.对异常处理有了一些理解,但不知道异常处理(如第4题)可以循环吗?3.对用类模板实现线性表不是很懂.五、教师评语成绩签名:日期:附:程序源代码1、(1)#includeusingn
6、amespacestd;templateTmax(Tx,Ty){returnx>y?x:y;}intmax(inta,intb){returna>b?a:b;}doublemax(doublea,doubleb){returna>b?a:b;}intmain(){cout<<"max('3','7')is"<usingnamespacestd;intmax(inta,intb){returna>b?a:b;}double
7、max(doublea,doubleb){returna>b?a:b;}intmain(){cout<<"max('3','7')is"<usingnamespacestd;templateTmax(T*x,intn){Tmax=x[0];for(inti=1;ix[i]?max:x[i];returnmax;}templateTmin(T*x,intn){Tmi
8、n=x[0];for(inti=1;i
此文档下载收益归作者所有