- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
201013050225蔡晨希上机五
实验报告
课程名称:C++程序设计
实验地点:基础实验楼210
班级学号:201013050225 学生姓名:蔡晨希
实验题目:上机五 异常类 参考程序:例8-12
实验目的:理解并掌握异常的应用
解决方案:通过修改程序中基类和派生类的顺序或者使用虚函数来获得正确的结果
编程实现及调试过程:
//Eg8-12.cpp
#includeiostream
using namespace std;
class BasicException{
public:
virtual char* Where() //定义虚函数
{
return BasicException...;
}
};
class FileSysException:public BasicException{
public:
char *Where()
{
return FileSysException...;
}
};
class FileNotFound:public FileSysException{
public:
char *Where()
{
return FileNotFound...;
}
};
class DiskNotFound:public FileSysException{
public:
char *Where()
{
return DiskNotFound...;
}
};
void main(){
try{
// ..... //程序代码
throw FileSysException();
}
catch(DiskNotFound p)
{
coutp.Where()endl; //将派生类放在前面以保证先调用派生类
}
catch(FileNotFound p)
{
coutp.Where()endl;
}
catch(FileSysException p)
{
coutp.Where()endl;
}
catch(BasicException p)
{
coutp.Where()endl;
}
try{
//..... //程序代码
throw DiskNotFound();
}
catch(BasicException p) //通过基类的指针来访问派生类对象
{
coutp.Where()endl;
}
}
结果分析及结论:
通过改变基类和派生类的顺序或者应用虚基类都可以实现正确抛出派生类对象
您可能关注的文档
最近下载
- F正谱长城谣声乐正谱钢琴伴奏五线谱子乐谱曲谱艺术歌曲歌谱音乐学院版.pdf
- 规范性文件的制定与备案审查制度.pptx VIP
- 2016沪S204 排水管道图集.pdf
- 幼儿园课件:《花匠种花》.pptx
- (高清版)DB43∕T 2748-2023 蒸汽锅炉应急处置导则 .pdf VIP
- DB34T3924-2021水稻抗倒性鉴定方法.pdf
- 2025年焦作师专历年数学试题单招 .pdf VIP
- ISO IEC 22989-2022 Information technology — Artificial intelligence — Artificial intelligence concepts and terminology 信息技术人工智能人工智能概念与术语.pdf
- 地质灾害与应急调查培训课件.pptx
- 【容联云通讯】全产品介绍材料V1.4.pptx
文档评论(0)