欢迎来到天天文库
浏览记录
ID:6889730
大小:227.00 KB
页数:4页
时间:2018-01-29
《实验7 模板与异常处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验7模板与异常处理实验7模板与异常处理7.1实验目的1.理解模板的作用与用途2.理解异常处理机制的作用与用途7.2实验内容与步骤1.上机实验题一设计一个堆栈的类模板,利用堆栈的类模板分别实现整数入栈和出栈处理,实数的入栈和出栈处理,字符型的入栈和出栈处理。⑴分析定义一个栈的类模板。栈操作需要检测栈满和栈空。在主函数中使用三个模板类来说明三个对象。一个完整的参考程序如下:#include#includetemplateclassStack{public:Stack(intsi
2、ze);~Stack(){delete[]s;}voidpush(STypei);STypepop();private:inttos,length;SType*s;};templateStack::Stack(intsize){s=newStype[size];if(!s)实验7模板与异常处理{cout<<"Can'tAllocatestack."<voidStack::push(ST
3、ypei){if(tos==length){cout<<"Stackisfull"<StypeStack::pop(){if(tos==0){cout<<"Stackoverflow."<a(10);Stackb(10);Stackc(10);a.push(45);b.push(100-0.7);a.pus
4、h(10);a.push(8+6);b.push(2*1.5);cout<5、输出26个英文字母。⑴分析类模板不是一个具体的、实际的类,使用时必须首先将其实例化为具体的模板类,然后再通过模板类定义对象。#includetemplateclassList{public:List(DTyped){data=d;next=0;}voidAdd(List*node){node->next=this;next=0;}List*GetNext(){returnnext;}DTypeGetData(){returndata;}private:DTypedata;List*next;};6、voidmain(){Liststart('a');List*p,*last;last=&start;for(inti=1;i<26;i++){p=newList('a'+i);p->Add(last);实验7模板与异常处理last=p;}cout<GetData();p=p->GetNext();}}⑵上机要求修改程序将类模板实例化为float型模板类。⑶写出实验报告。7.3项目选做自己设计一个处理异常的程序,至少处理二种异常:如,用new7、分配存储空间时,返回的指针值为0;除数为0等。构成完整的程序并对程序的正确性进行测试。
5、输出26个英文字母。⑴分析类模板不是一个具体的、实际的类,使用时必须首先将其实例化为具体的模板类,然后再通过模板类定义对象。#includetemplateclassList{public:List(DTyped){data=d;next=0;}voidAdd(List*node){node->next=this;next=0;}List*GetNext(){returnnext;}DTypeGetData(){returndata;}private:DTypedata;List*next;};
6、voidmain(){Liststart('a');List*p,*last;last=&start;for(inti=1;i<26;i++){p=newList('a'+i);p->Add(last);实验7模板与异常处理last=p;}cout<GetData();p=p->GetNext();}}⑵上机要求修改程序将类模板实例化为float型模板类。⑶写出实验报告。7.3项目选做自己设计一个处理异常的程序,至少处理二种异常:如,用new
7、分配存储空间时,返回的指针值为0;除数为0等。构成完整的程序并对程序的正确性进行测试。
此文档下载收益归作者所有