c++面向对象课后答案第11章.doc

c++面向对象课后答案第11章.doc

ID:60778376

大小:31.00 KB

页数:7页

时间:2020-12-18

c++面向对象课后答案第11章.doc_第1页
c++面向对象课后答案第11章.doc_第2页
c++面向对象课后答案第11章.doc_第3页
c++面向对象课后答案第11章.doc_第4页
c++面向对象课后答案第11章.doc_第5页
资源描述:

《c++面向对象课后答案第11章.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.概念填空题1.1C++程序将可能发生异常的程序块放在try中,紧跟其后可放置若干个对应的catch  ,在前面所说的块中或块所调用的函数中应该有对应的throw ,由它在不正常时抛出异常,如与某一条catch类型相匹配,则执行该语句。该语句执行完之后,如未退出程序,则执行catch后续语句。如没有匹配的语句,则交给C++标准库中的termanite 处理。1.2 throw表达式的行为有些像函数的函数调用,而catch子句则有些像函数的函数定义。函数的调用和异常处理的主要区别在于:建立函数调用所需的信息在编译 时已经获得,而异常处理机制要求

2、运行时的支撑。对于函数,编译器知道在哪个调用点上函数被真正调用;而对于异常处理,异常是随机发生的,并沿调用链逆向查找异常处理子句,这与运行时的 多态是 不一样的 。2.简答题2.1 C++中的异常处理机制意义,作用是什么?2.2 当在try块中抛出异常后,程序最后是否回到try块中继续执行后面的语句?2.3 什么叫抛出异常?catch可以获取什么异常参数?是根据异常参数的类型还是根据参数的值处理异常?请编写测试程序验证。2.4 为什么C++要求资源的取得放在构造函数中,而资源的释放在析构函数中?3.选择题3.l下列关于异常的叙述错误的是(A)。

3、   A.编译错属于异常,可以抛出B.运行错属于异常   C.硬件故障也可当异常抛出D.只要是编程者认为是异常的都可当异常抛出3.2下列叙述错误的是( )。   A.throw语句须书写在时语句块中   B.throw语句必须在try语句块中直接运行或通过调用函数运行   C.一个程序中可以有try语句而没有throw语句D.throw语句抛出的异常可以不被捕获3.3关于函数声明floatfun(inta,intb)throw,下列叙述正确的是( )。   A.表明函数抛出float类型异常   B.表明函数抛出任何类型异常   C.表明函数不

4、抛出任何类型异常D.表明函数实际抛出的异常3.4下列叙述错误的是()。   A.catch(…)语句可捕获所有类型的异常   B.一个try语句可以有多个catch语句   C.catch(…)语句可以放在catch语句组的中间D.程序中try语句与catch语句是一个整体,缺一不可3.5下列程序运行结果为(A)。#includeusingnamespacestd;classS{public: ~S(){cout<<”S”<<”t”; }};charfun0(){ Ss1; throw(‘T’); return ‘0’;}

5、voidmain(){try{  cout< usingnamespacestd;inta[10]={1,2,3,4,5,6,7,8,9,10}; intfun(inti); voidmain()   {inti,s=0;   for(i=0;i<=10;i++)   {try   {s=s+fun(i);}   catch(i

6、nt)     {cout<<”数组下标越界!”<=10)   throwi;   returna[i]; } 数组下标越界! S=554.2#include usingnamespacestd; voidf(); classT {public:   T()   {cout<<"constructor"<

7、    {cout<<"exception”<

8、nction5.程序设计题5.1以String类为例,在String类的构造函数中使用new分配内存。如果操作不成功,则用try语句触发一个char类

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。