首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,请修改程序中的错误,使程序能得出正确的结果: num:0 num:1 num:10 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在
使用VC6打开考生文件夹下的源程序文件modil.cpp,请修改程序中的错误,使程序能得出正确的结果: num:0 num:1 num:10 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在
admin
2015-05-30
60
问题
使用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://kaotiyun.com/show/kPNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
定义如下一维数组:inta[5],*p;,则下列描述错误的是()。
设有关系模式R(A,B,C,D,E,P),其函数依赖集为{E→D,C→B,(C,E)→F,B→A},则R最高达到______。
所有的函数模板定义都是以关键字【】开始的。
【】是一种特殊的成员函数,户主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。
有如下程序:#include<iostream>usingnamespacestd;classTest{public:Test(){n+=2;}~Test(){n-=3;}
下列选项中不属于结构化程序设计方法的是()。
基类的【】不能被派生类的成员访问,基类的【】在派生类中的性质和继承的性质一样,而基类的【】在私有继承时在派生类中成为私有成员,在公有和私有保护继承时在派生类中仍为保护成员。
如果表达式++i*k中的“++”和“*”都是重载的非静态成员运算符,则采用运算符函数调用格式,该表达式还可表示为=______。
以下程序的执行后,x和y的值是______。#include<iostream.h>classSample{public:intx;inty;
只有当整数x为奇数时,其值才是true的表达式是______。
随机试题
医院药事管理委员会的各成员任期一般为
关于滤线栅栅比的叙述,错误的是
男,35岁,消瘦、乏力、怕热、手颤2个月,夜间突然出现双下肢软瘫,急诊查体:神志清,血压140/80mmHg,心率108次/分,律齐,甲状腺轻度增大、无血管杂音。导致病人双下肢软瘫的直接原因可能是
水冲洗管道,应以管道内( )进行。
“提运单号”栏应填()。“征免性质”栏应填()。
A公司2016年4月11日与客户签订了一项工程劳务合同,合同期9个月,合同总收入1500万元,预计合同总成本1200万元;至2016年12月31日,实际发生成本660万元。在年末确认劳务收入时,甲公司发现,客户已发生严重的财务危机,估计只能从工程款中收回成
物流的杠扦利润效虚说明()。
A.NotatallB.I’mtiedupatthemomentC.I’llbeoffthenStaff:Goodafternoon,MrsAnderson.CanIcleanyourroomnow?
Theideathatmusicmakesyousmarterhasreceivedconsiderableattentionfromscholarsandthemedia.Currentinterestin【C1】__
Nowadays,theInternethasbecomepartofpeople’slife,andmillionsofyoungpeoplehavemadefriendsonline.WriteonANS
最新回复
(
0
)