文档详情

《实验七异常处理程序设计.doc

发布:2017-01-08约3.28千字共6页下载文档
文本预览下载声明
实验七 异常处理程序设计 实验目的: 理解异常的概念,了解异常处理的处理机制,掌握异常处理程序的编写方法。 实验时间: 实验地点: 实验内容: 1.编写程序,利用异常处理的方法,当指定文件不存在时显示出错信息。如果文件存在显示其大小。(file.fail() file.tellg()) 2.从Person类派生出Teacher类,在Teacher中设计成员函数test(),能根据职称检测年龄是否正确,教授年龄大于26岁,副教授年龄大于25岁,讲师年龄大于23岁,助教年龄大于20岁。 五、实验要求 在上机前写出全部源程序; 结果: 代码 #include iostream #include fstream #include string using namespace std; int main() { fstream file; string path; try { cout请输入要打开文件的全路径:; getline(cin, path); file.open(path.c_str(),ios_base::in); if(file.fail()) throw 0;//如果打开失败,抛出异常。 file.seekg(0,ios_base::end);//将文件指针从文件的开始位置移动到结尾 cout打开文件的长度为:file.tellg()endl;//file.tellg()表示文件的长度 } catch(int)//接收异常,处理异常 { cout打开文件错误!endl; return -1; } file.close();//关闭文件 return 0; } 2、从Person类派生出Teacher类,在Teacher中设计成员函数test(),能根据职称检测年龄是否正确,教授年龄大于26岁,副教授年龄大于25岁,讲师年龄大于23岁,助教年龄大于20岁。 结果: 代码:#includeiostream #includestring using namespace std; class Person { public: Person(string pjobTile)//Person类的构造函数 { jobTitle=pjobTile; } string getJobTitle()//获得私有数据成员 { return jobTitle; } ~Person(){} private: string jobTitle; }; class Teacher:public Person//继承Person类 { public: Teacher(string pjobTile, int page):Person(pjobTile)//派生类的构造函数(同时也要调用基类的构造函数) { //构造函数先执行基类再派生类 age = page; } void Test(); ~Teacher(){} private: int age; }; void Teacher::Test() { int i; if(getJobTitle()==教授) i=1; else if(getJobTitle()==副教授) i=2; else if(getJobTitle()==讲师) i=3; else i=4; switch(i) { case 1: try { if(age26) throw 0; cout年龄正确endl; return; } catch(int) { cout职称或年龄错误!endl; };break; case 2: try { if(age25)
显示全部
相似文档