实验10模板与异常处理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验10 模板与异常处理

班级: 11512 学号: 20113051209 姓名:刘佳成绩:1、实验目的

(1)理解模板、异常处理及相关概念。

(2)掌握函数模板和类模板的定义和使用。

(3)掌握编写C++程序时,在程序中加入异常处理机制。

2、实验内容

(1)设计一个函数模板max,完成求两个数中的较大数的功能。#include #include

using namespace std;

template

T compare(T a,T b)

{

if(a>b)

return a;

else

return b;

}

void main()

{

cout<<"compare(4,44)="<

cout<<"compare(4.4,44.4)="<

cout<<"compare('a','b')="<

cout<

}

(2)设计一个数组类模板A,实现一个通用的数组类。#include using namespace std;

template

class Array

{

private:

int length;

T *a;

public:

{

length=n;

a=new T[length];

}

void display()

{

int i;

for(i=0;i

cin>>a[i];

cout<<"请输的数组为:"<

for(i=0;i

cout<<"a["<

}

~Array()

{

delete [] a;

}

};

void main()

{

Array a1(4);

a1.display();

}

(3)从键盘上输入x和y的值,计算z=ln(3x-2y)的值,要求对“负数求对数”的情况进行异常处理。

(4)编写程序,求函数表达式f(x,y)=y

x 的值,并能够处理各种异常(可选题)。#include

#include

using namespace std;

class Hs

{

private:

int x,y;

public:

{

x=m;

y=n;

}

~Hs()

{}

void display()

{

try

{

if(x

throw 1;

cout<<"f(x,y)="<

}

catch(int)

{

cout<

}

}

};

void main()

{

Hs h(12,11);

Hs h1(12,13);

h.display();

h1.display();

}

3、实验结果

(1)编写相应程序,并调试运行。

(2)编写实验报告,给出源程序及输入/输出结果。

(3)对实验过程中遇到的问题及体会做总结。

实验报告:在一个程序下一种符号不能用于2种定义,在类模板的主函数中,要注意定义方式。

相关文档
最新文档