首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,请修改程序中的错误,使程序能得出正确的结果: num:0 num:1 num:10 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在
使用VC6打开考生文件夹下的源程序文件modil.cpp,请修改程序中的错误,使程序能得出正确的结果: num:0 num:1 num:10 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在
admin
2015-05-30
62
问题
使用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://www.kaotiyun.com/show/kPNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
根据变量定义“staticintx[5],y[2][3]={9,6,3,1,4,7};”,x[4]=【】,y[1][2]=【】。
下列虚基类的声明中正确的是______。
每个类______构造函数。
在C++中,函数原型不能标识______。
有以下类定义。classMyClass{private:intid;chargender;char*phone;public:MyClass():id(0),g
若有如下类定义:classB{voidfunl(){}protected:doublevarl:public:voidfun2(){}};classD:public
对于常数据成员,下面描述正确的是()。
下列类的定义中,有()处语法错误。classBase{publiC:Base(){}Base(inti){data=i;}ptivate:
在深度为5的满二叉树中,叶子结点的个数为()。
在类中说明的成员可以使用关键字______进行修饰
随机试题
简述现代管理理论各种理论学派的基本原理和主要观点。
马女士,54岁,绝经2年,阴道不规则少量出血半月余。妇科检查:阴道壁不充血,宫颈光滑,子宫较正常稍大。诊断性刮宫刮出内膜为豆渣样,诊断为子宫内膜癌最重要的诊断依据是()
A.进食-腹痛加重B.进食-腹痛缓解C.进食-排便-腹痛加重D.腹痛与进食、排便无关E.进食-排便-腹痛缓解符合胰腺炎腹痛特点的是
患者女,13岁,正在进行正畸治疗,医生建议她使用氟化凝胶防龋氟化凝胶的浓度是
以下关于量刑程序的各种表述,正确的是:()
构成投资组合的资产A和资产B,其标准差分别为12%和10%。在等比例投资的情况下,下列说法中正确的有()。
关于如何考虑以前审计获取的有关控制运行有效性的审计证据,下列说法中,正确的有()。
254个志愿者来自不同的单位,任意两个单位的志愿者人数之和不少于20人,且任意两个单位志愿者的人数不同,问这些志愿者所属的单位数最多有几个?
爱因斯坦说:“刻卜勒的惊人成就,是证实下面这条真理的一个特别美妙的例子,这条真理是:知识不能单从经验中得出,而只能从理智的发明同观察到的事实两者的比较中得出。”这句话包含的认识论道理有()
顺序文件在一次打开期间
最新回复
(
0
)