首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
28
问题
使用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://jikaoti.com/ti/dPt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原是()。#include<iostream.h>voidmain(){int*p,*q,a,b;p=&a;eout<<"inputa:";
在关系模型中,把数据看成是二维表,每一个二维表称为一个______。
有如下程序:#include<iostream>usingnamespacestd;classPARENT{public:PARENT(){cout<<"PARENT";}};
数据库系统其内部分为三级模式,即概念模式、内模式和外模式,其中,______是用户的数据视图,也就是用户所见到的数据模式。
类MyClass的定义如下:classMyClass{public:MyClass(){value=0;}SetVariable(inti){value=i}private:intvalue;
对有n个记录的表r[1…n]进行直接选择排序,所需要进行的关键字间的比较次数为______。
若类A和类B的定义如下classA{inti,j;public:intgeti(){returni;}};classB:publicA{
已知语句intm=10;则下列表示引用的表示中正确的是
假定A为一个类,则语句A(A&a);为该类______函数的原型说明。
以下类定义中可能会引起错误的语句是()。ClassA{public:~A(){}//1inti;//2private:intj;//3A(inti){i++;}//4}
随机试题
引进500#乙二醇脱水装置中D—504压力控制为分程控制。
关于腹外疝恰当的是
系统性红斑狼疮患者皮肤护理错误的是
居民企业甲公司主要从事日化产品的生产和销售,2014年有关涉税事项如下:(1)为了推广新型洗涤剂,公司推出了“买一赠一”的促销活动,凡购买一件售价40元(不含税)新型洗涤剂的,附赠一瓶原价10元(不含税)的洗洁精。公司按照每件40元确认了新型洗涤剂的销售
下列关于公允价值层次的说法中,不正确的是()。
2011年是辛亥革命爆发100周年,重温历史,颇多教训,请以“辛亥革命’’为课题。设计一个教案。
以下哪些属于汉律六十篇的组成部分()
问题分析图简称【】。
打开工作簿文件EXCEL.XLSX打开工作簿EXC.XLSX,对工作表“成绩表”(内容如下)内的数据清单的内容进行分类汇总(提示:分类汇总前先按系名进行升序排序),分类字段为“系名”,汇总方式为“平均值”,汇总项为“总成绩”,汇总结果显示在数据下方,将
A、TheBlackPlague.B、EnemyofHumanity.C、CommonAnimalpests.D、CausesofWorldHunger.B主旨题,文章开头便指出Ratsaretheenemyofhuma
最新回复
(
0
)