C++二级上机改错题

C++二级上机改错题

ID:38581854

大小:127.00 KB

页数:22页

时间:2019-06-15

C++二级上机改错题_第1页
C++二级上机改错题_第2页
C++二级上机改错题_第3页
C++二级上机改错题_第4页
C++二级上机改错题_第5页
资源描述:

《C++二级上机改错题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、上机改错题1、该程序运行时有错误,请改正错误,使得程序正常运行,并且要求最后一个catch()必须抛出执行的任何异常。程序通过抛出异常输出:error0ERROR注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。#includeintmain(){try{throw("error");}//********error********catch(chars){cout<

2、<

3、)"是字符型的,所以第2个标识下的语句修改为"catch(char*s)"。(2)第2个标识前的异常抛出语句为"throw((int)0);",其中的类型为int。所以对应的异常捕捉语句catch中应该符合这个类型,所以补充catch子句中的类型,否则找不到匹配的catch块,那么系统就会调用一个系统函数,使程序终止运行。即第1个标识下的语句修改为"catch(inti)"。(3)如果在catch子句中没有指定异常信息的类型,那么就用删节号"…"表示它可以捕捉任何类型的异常信息,即修改为"catch(...)"。2、该程序运行时有错,请改正错误,使得程序正确执行,并且输出以下语句:Test

4、Class1:0TestClass2注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。#includestructTestClass1{TestClass1(inti=0){m_i=i;}voidprint(){cout<<"TestClass1:"<

5、ivate:~TestClass2(){}};intmain(){//********error********TestClass1obj1();//********error********TestClass2obj2();obj1.print();obj2.print();return0;}【答案】(1)public:(2)TestClass1obj1(0);或TestClass1obj1;(3)TestClass2obj2;【审题分析】程序要求输出TestClass1:0和TestClass2。从已定源程序的main主函数开始入手,可以看出程序首先定义TestClass1和TestC

6、lass2类型的变量,然后通过调用其中的print成员函数实现输出结果。【解题思路】(1)第1个标识下的"private:~TestClass2()"是析构函数,它不是私有的,所以这里应该为"删除private:或修改为public:"。(2)第2个标识下的"TestClass1obj1();"语句是定义一个TestClass1类型的对象obj1(),根据类TestClass1构造函数的定义"TestClass1(inti=0)",知道存在整型参数,应该补充参数,或者只是先定义一个对象名,然后在使用时补充参数,即修改为"TestClass1obj1(0);或TestClass1obj1;"

7、。(3)同理第3个标识下的"TestClass2obj2();"语句修改为"TestClass2obj2;"。3、该程序运行有问题,请改正main函数中的错误,使程序的输出结果是:nember=1nember=10nember=100注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。#includeclassTestClas

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

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

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