解:上述程序中,在执行main()中的fun();语句时调用fun()函数,该函数要首先构造对象in1,调用Ins类的构造函数Ins(),并将in1入栈,然后构造对象in2,调用Ins类的构造函数Ins,并将in2入栈,最后执行throw Ex();语句抛掷Ex类异常,在检测到catch时,展开该栈,先是对象in1出栈,执行Ins类的析构函数,再是对象in2出栈,又一次执行Ins类的析构函数。......
2023-11-07
【例9.6】编写一个程序,设计一个学生类Student,采用异常处理的方法,在输入学生类Student对象的数据时检测成绩输入是否正确。
解:在Student类中设计一个getinfor()成员函数,用于输入学生数据,当成绩score大于100小于0时抛掷一个异常。然后在catch()中显示相应的出错信息并调用getscore()成员函数继续输入该生的成绩。程序如下:
本程序的一次执行结果如下:
输入数据:
输入学号姓名成绩:101李英-100↙
李英成绩不正确,重新输入:90↙
输入学号姓名成绩:102张华80↙
输入学号姓名成绩:103王丽92↙
输入学号姓名成绩:104钱明130↙
钱明成绩不正确,重新输入:98↙
输出数据:
101 李英 90
102 张华 80
103 王丽 92(www.chuimin.cn)
104 钱明 98
【例9.7】编写一个程序,采用异常处理的方法,在指定的文件不存在时显示出错信息;文件存在时显示其大小。
解:当文件流fileinfor不存在时,抛掷一个字符串错误,在catch()中检测该错误,输出出错信息。程序如下:
本程序的一次执行结果如下:
文件名:TestFile.txt↙
TestFile.txt文件不存在!
9.1 当异常被抛出时,程序的控制权会如何转换?
9.2 简述一次捕获所有异常的方法。
9.3 程序抛出异常时,程序的控制权还会再回到原来的抛出点吗?
9.4 使用catch(...)来捕获所有的异常有什么优点和缺点?
9.5 一个try区块可以对应多个catch区块,有什么要求吗?
9.6 给出以下程序的执行结果。
有关C++程序设计基础教程的文章
解:上述程序中,在执行main()中的fun();语句时调用fun()函数,该函数要首先构造对象in1,调用Ins类的构造函数Ins(),并将in1入栈,然后构造对象in2,调用Ins类的构造函数Ins,并将in2入栈,最后执行throw Ex();语句抛掷Ex类异常,在检测到catch时,展开该栈,先是对象in1出栈,执行Ins类的析构函数,再是对象in2出栈,又一次执行Ins类的析构函数。......
2023-11-07
程序设计是指设计、编写和调试程序的方法与过程。由于程序是软件的本体,因此软件的质量主要通过程序的质量体现,因此,研究一种切实可行的程序设计方法至关重要。继承是面向对象程序设计方法的一个重要标志,利用继承机制可以大大提高程序的可重用性和可扩充性。......
2023-11-07
C++支持三种格式的循环控制语句:while、do和for语句。图1.3while语句的执行过程编写一个程序,将用户输入的整数反向显示出来。解:程序如下:3.for语句for语句通常用于预先知道循环次数的情况,其一般形式为:for语句;其中,“初始化语句”可以是一个定义语句或表达式语句,一般用于对一组变量进行初始化或赋值。“表达式2”在每次循环执行完成后执行,一般用于改变控制循环的变量。......
2023-11-07
图6.18类层次图程序如下:本程序的执行结果如下:圆桌属性数据:高度:0.6米桌面半径:0.5米面积:0.785平方米颜色:白色设计一个虚基类Person,包含姓名和年龄私有数据成员以及相关的成员函数,由它派生出领导类Leader,包含职务和部门私有数据成员以及相关的成员函数,再由Person派生出工程师类Engineer,包含职称和专业私有数据成员以及相关的成员函数,然后由Leader和Engineer类派生出主任工程师类Chairman。......
2023-11-07
C++是一种编译性的语言,设计好一个C++源程序后,需要经过编译、连接,生成可执行的程序文件,然后执行并调试程序。当C++源程序设计好后,程序员利用一个编辑系统将源程序输入计算机中的某一个文件中,并进行必要的修改。C++源程序文件的扩展名为.cpp。在VC++6.0环境中,编译和连接两个步骤是由系统本身一次完成的。完整的C++程序的开发步骤如图1.2所示。图1.2C++程序开发步骤......
2023-11-07
类的每一个成员函数都有一个隐含的特殊指针,通常称为this指针,this指针的类型就是成员函数所属的类型。通常不显式使用this指针。this指针是C++实现封装的一种机制,它将对象和该对象调用的成员函数连接在一起,在外部看来,每个对象都拥有自己的成员函数。this指针一般用于返回当前对象自身。程序的执行结果如下:s1∶n=2s2∶n=1s3∶n=3this指针大量用于运算符重载成员函数设计中,这将在后面详细介绍。......
2023-11-07
在类声明中,public、private和protected是关键字,称为成员访问限定符,它们分别表示公有、私有和保护的成员访问权限。其他函数不能访问该类的保护数据成员,也不能调用该类的保护成员函数。◇一旦给出了成员访问限定符,它后面的成员都具有这个成员访问权限,直到出现另一个成员访问限定符或类声明结束为止。类的成员函数可以访问类的所有成员,没有任何限制,而类的对象对类的成员的访问是受成员访问控制符制约的。......
2023-11-07
编写一个程序,声明一个点类Point,实现点的偏移,==,!其中各个成员函数就是实现这种转换并完成相应的矩阵运算功能。程序的执行结果如下:A矩阵:123456B矩阵:123456C矩阵:142536A+B矩阵:2468 10 12A-B矩阵:000000A*C矩阵:14 3232 77虽然这种转换比较复杂,但解决了矩阵运算通用性问题。......
2023-11-07
相关推荐