首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: i=5 i=10 i=15 i=20 注意:错误的语句在//******error******的
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: i=5 i=10 i=15 i=20 注意:错误的语句在//******error******的
admin
2018-10-23
55
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
i=5
i=10
i=15
i=20
注意:错误的语句在//******error******的下面,修改该语句即可。
1 #include<iostream.h>
2 class CMyClass
3 {
4 public:
5 template<class T>
6 void func(T x,T y)
7 {
8 /********error********/
9 T i=0;
10 if(x>=i)
11 {
12 i=i+x;
13 }
14 else
15 {
16 i=i+y;
17 }
18 cout<<’’i=’’<<i<<end1;
19 }
20 };
21 void main()
22 {
23 CMyClass t;
24 t.func(5,0);
25 /********error********/
26 t.func(68,(char)1);
27 float i=10.0;
28 /********error********/
29 t.func(i,1);
30 t.func(5,5);
31 }
选项
答案
(1)static T i=0; (2)t.func((char)68,(char)1); (3)t.func((int)i,1);
解析
程序当中定义了类CMyClass,含有一个成员函数模板func(T x,T y),在函数内定义一个变量i,如果参数x大于i,则i和x的和赋值给i,否则i和Y的和赋值给i。
(1)在主函数内定义了类CMyClass对象t,第一次调用func()函数传入整型参数5和0,此时T表示整型(int),5>0,此时i和x的和为5,故屏幕输出i的值为i=5;第二次调用func()函数,传入参数为char型数据,此时T表示字符型(char),chari=0,68>0,故i为68,屏幕输出ASCII码为68的字符,即i=D;第三次调用func()函数,传入整型数据10和1,此时T表示整型(int),输出为i=15,显然如果i为一般的局部变量, 输出应该是i=10(10>0,i=10+0=10),这里i记忆了第一次调用func()函数后的值(i=5,10>5,10+5=15),故i为静态变量,因此第1个标识下应改为“static T i=0;”。
(2)func()函数两个参数类型一致,从输出结果看,第二次调用func()传入的参数均是char型的,故第2个标识下应改为“t.func((char)68,(char)1);”,(char)68和(char)1含义是做强制类型转换,将整型转换成char型。
(3)第3个标识下传入参数1为整型,局部变量i为float型,由输出结果可知,第四次调用func()函数也改变了静态变量i(static int i)的值,故传入的参数均为整型,因第3个标识下的局部变量i(float型)也要强制类型转换,故第3个标识下应改为“t.func((int)i,1);”。
转载请注明原文地址:https://www.kaotiyun.com/show/kwAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对于语句cout<<setfilll(’*’)<<setw(10)<<1<<setill(’*’)<<setw(2)<<2;的输出结果是()。
下列关于C++函数的说明中,正确的是()。
有下列程序:#include<iostream>usingnamespacestd;classTestClass1{public:TestClass1(){cout<<"A";}
结构化程序设计主要强调的是
若有如下变量定义和函数调用语句:inta=5;fun(&A);则执行下面函数后正确的输出结果是()。voidfun(int*x){cout<<++*
有下列语句序列:intk=0;do{k+=5;cout<<’$’;}while(k<19);while(k-->0)cout<<’*’;执行上面的语句序列输出字符“$”和“*”的个数
下列特征中不是面向对象方法的主要特征的是()。
有如下程序:#include<iostream>usingnamespacestd;classPARENT{public:PARENT(){cout<<"PARENT";}};
下面关于C++流的叙述中,正确的是()。
下列不是软件工程基本目标的是()。
随机试题
护理诊断的组成:名称、定义、________、_____。
A.男性,32岁。间歇性剑突下疼痛伴反酸半年。不规律服用抑酸药物,突发恶心呕吐,呕吐物最初为咖啡渣样物,后为暗红色血液,伴黑便。经内科保守治疗后好转B.男性,23岁。1周前腹部受重物撞击,当时自觉右上腹疼痛,静卧休息后疼痛缓解。6小时前突发右上愎阵发性剧
下列金融机构中,属于银行业金融机构的是()。[2008年考试真题]
()是解决战略人才需求的重要方式。
简述我国教育法体系的几个基本层次。
科学家根据始祖鸟化石得出鸟类是由爬行动物进化而来的结论,运用的研究方法是()。
最近,江苏省绘出了一个软件产业发展路线图:一是到2012年,全省软件业的销售收入1000亿,电子信息产品制造业销售收入10000亿,信息服务业营业收入1000亿;二是IT人才的拥有量要在全国居第一位;三是要有一批软件开发的著名公司。目前世界著名大
全球范围内只找到三个寒武纪大爆发的完整化石群,两个分别位于难以进人的澳大利亚沙漠和加拿大落基山脉,在上世纪发现并______,帽天山的发现只有不到30年,却已经可以完美证明“突变”而______古老主流的达尔文进化论。依次填入划横线部分最恰当的一项是(
材料12014年11月10日,国家主席习近平和夫人彭丽媛在北京为出席亚太经合组织(APEC)第二十二次领导人非正式会议的各成员经济体领导人、代表及配偶举行欢迎晚宴,为本次会议设计制作的特色中式服装亮相。“一看就是中国的,但我们不停留在传统,而是体现了传
习近平指出:我们的改革是在中国特色社会主义道路上不断前进的改革,既不走封闭僵化的老路,也不走改旗易帜的邪路。我们把改革当作一种革命。当然不是“文化大革命”那样的革命。以上论述表明改革是()
最新回复
(
0
)