首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,请修改程序中的错误,使程序能得出正确的结果: num:0 num:1 num:10 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在
使用VC6打开考生文件夹下的源程序文件modil.cpp,请修改程序中的错误,使程序能得出正确的结果: num:0 num:1 num:10 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在
admin
2015-05-30
27
问题
使用VC6打开考生文件夹下的源程序文件modil.cpp,请修改程序中的错误,使程序能得出正确的结果:
num:0
num:1
num:10
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。
1 #include
2 int i=10 ;
3 C1ass TestClass
4 {
5 public:
6 TestClass(int i)
7 {
8 cout<<"num: "<
9 //********error********
10 i=i+1;
11 }
12 void Print()const
13 {
14 cout<<"num:"<
15 }
16 private:
17 int i;
18 };
19 void main()
20 {
21 //********error********
22 TestClass print ;
23 int i(0);
24 print.Print();
25 //********error********
26 cout<<"num:"<
27 return;
28 }
选项
答案
(1)this->i=i+1 ;或TestClasS::i=i+1;或(*this).i=i+1; (2)TestClass print(0); (3)cout<<"num:"<<::i<
解析
程序要求输出number的值为0,1,10。从已定源程序的main主函数开始入手,可以看出程序首先通过类TestClass中的TestClass构造函数的调用实现第一次num值的输出;然后通过调用类TestClass中的成员函数Print实现第二次Rum值的输出;最后通过输出函数cout实现第三次num值的输出。
[解题思路]
(1)打开modil.cpp,调试程序,显示错误提示为第二标识下“modil.cpp(221:error C2512:’TestClass’:no appropriatedefault constructor available”,主函数中首先调用的就是第2个标识下的TestClass print函数,构造函数的名字和类的名字是一样的,而程序中给出的“TestClass print;”没有给出参数,所以程序调试时无法确定调用的函数。根据TestClass构造函数“TestClass(int”的定义,应该存在int型参数,并且题目要求第一次输出的值为“0”,所以第2个标识正确的调用函数为“TestClass print(0);”。
(2)运行,发现第一次的输出正确,但是第二次的输出值为“-858993460”,并不是题目中要求的“1”。在主函数中,可知第二次输出调用的是“print.Print();”,即类TestClass的成员函数“Print()”。成员函数Print的定义“voidPrint()const”中的输出语句为“cout<<"num:"<
i=i+l;”或“TestClass::i=i+1;”或“(*this).i=i+l;”。
(3)主函数中通过“cout<<”num:”<
转载请注明原文地址:https://jikaoti.com/ti/dBE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
定义类对象时自动调用【】为类对象中的数据成员赋初值。
若有intx[5],*p=x;则数组元素x[3]可以表示为*(p+【】),也可以表示为p[3]。
在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示()
用链表表示线性表的优点是()。
下面程序的输出结果是()。#include<iostream>usingnamespacestd;intmain(){intn=10;while(n>7){n--;cout<<
在深度为5的满二叉树中,叶子结点的个数为()。
有如下的对类“X”的说明,其中______是错误的。classX{
函数模板______。
关于在调用模板函数时实参的使用,下列表述中正确的是
下面有关重载函数的描述中正确的是
随机试题
材料一:“苏联共产党是一个拥有88年历史,1500万党员的大党,却在20世纪80年代末,在一纸禁令下,一夜之间被解散了,执政地位被剥夺,苏联社会主义不战而败。”材料二:“党的十六届四中全会通过的《决定》指出,党的执政地位不是与生俱来的,也不是一劳永逸的。
下列结论正确的是().
冠心病猝死的最主要原因是()。
症见呕吐酸腐,脘腹胀满,嗳气厌食,大便或溏或结,舌苔厚腻,脉滑实,治法为
下列结论中,正确的为()。
“征免性质”栏应填()。
请你用三分钟的时间简要介绍一下你自己的基本情况,并说说你主要的优缺点,有哪些特长和爱好?【追问】(1)喜欢书、报、刊吗?(2)喜欢读哪类书籍?(3)经常看的刊物有哪几种?
《我国》刑法第133条规定:“违反交通运输管理法规,因而发生重大事故,致人重伤、死亡或者使公私财产遭受重大损失的,处三年以下有期徒刑或者拘役;交通运输肇事后逃逸或者有其他特别恶劣情节的,处三年以上七年以下有期徒刑;因逃逸致人死亡的,处七年以上有期徒刑。”
A、It’smypleasure.B、It’sheavy.C、Yes,itis.D、That’sgreat.A这是请求对方帮助自己,恰当的回答应是A,“乐意之至”。
CybercrimewhichistheillegalactivitycommittedontheInternetisthefastestgrowingcriminalactivityintheworldandis
最新回复
(
0
)