首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: i=5 i=10 i=15 i=20 注意:错误的语句在//********error*****
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: i=5 i=10 i=15 i=20 注意:错误的语句在//********error*****
admin
2015-05-30
28
问题
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
i=5
i=10
i=15
i=20
注意:错误的语句在//********error********的下面,修改该语句即可。
1 #include
2 clasS CMyClasS
3 {
4 publiC:
5 template
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="<
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)6 8,(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,第一次调用func0函数传入整型参数5和0,此时T表示整型(int),5>0,此时i和X的和为5,故屏幕输出i的值为i=5;第二次调用func0函数,传入参数为char型数据,此时T表示字符型(char),char i=0,68>0,故i为68,屏幕输出ASCII码为68的字符,即i=D;第三次调用func()函数,传入整型数据10和l,此时T表示整型(int),输出为i=15,显然如果i为一般的局部变量,输出应该是i=10(10>0,i=10+0=10),这里i记忆了第一次调用funcO函数后的值(i=5,10>5,10+5=15),故i为静态变量,因此第1个标识下应改为“staticT i=0:”。
(2)func()函数两个参数类型一致,从输出结果看,第二次调用func()传入的参数均是char型的,故第2个标识下应改为“t.func((char)68,(char)1);”,(char)68和(char)1含义是做强制类型转换,将整型转换成char型。
(3)第3个标识下传入参数l为整型,局部变量i为float型,由输出结果可知,第四次调用func0函数也改变了静态变量i(static int i)的值,故传入的参数均为整型,因第3个标识下的局部变量i(float型)也要强制类型转换,故第3个标识下应改为“t.func((int)i,1);”。
转载请注明原文地址:https://jikaoti.com/ti/CBE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
定义类对象时自动调用【】为类对象中的数据成员赋初值。
如果要在类的对象上使用运算符,除了运算符=和【】以外,其它的必须都要被重载。
假定MyClass为—类,执行MyClassa[3],*p[2];语句时会自动调用该类构造函数()次。
数据库系统与文件系统的最主要区别是()。
基类的【】不能被派生类的成员访问,基类的【】在派生类中的性质和继承的性质一样,而基类的【】在私有继承时在派生类中成为私有成员,在公有和私有保护继承时在派生类中仍为保护成员。
以下程序的执行后,x和y的值是______。#include<iostream.h>classSample{public:intx;inty;
在长度为n的顺序表的第i(1≤i≤n+1)个位置上插入一个元素,元素的移动次数为______。
数据库设计的根本目标是要解决______。
以下函数模板max的功能是返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmax(Ta[],intn){Tm=a[0];for(inti=1;i<n;i++)
在关系数据库中,用来组织索引结构联系的是()。
随机试题
28岁,足月妊娠并风湿性心脏病,心功能Ⅱ级,胎头吸引器助产,产后2h内阴道出血200ml,子宫轮廓清楚,心率120次/分。呼吸24次/分,双肺可闻及小水泡音,宫底脐下2指。对该患者正确的治疗是()
Gaueher病人的特点是
导致脐带脱垂的常见原因有,①头盆不称;②先露入盆受阻;③胎盘位置较低;④脐带过长
患者,女,29岁。患近视10年,双眼矫正视力1.2(-6.00D),1周前拟行LASEK手术,术前检查发现眼压偏高,右眼26mmHg,左眼28mmHg。提示:本病例多次眼压测量在25~30范围,进一步检查,双眼房角窄Ⅱ,双眼视乳头C/D=0.5,视野未
诊断首先考虑为为确诊需进一步检查
非水碱量法的常用溶剂为
甲公司2007年度发生的下列交易或事项中,不应采用未来适用法进行会计处理的有()。
企业融资租赁设备是其从事生产经营活动的物质基础,因此支付的租赁款支付的资金应在现金流量表“经营活动产生的现金流量”项目列示。()
下列各种物资中,应当作为企业存货核算的有()。
WhatisSallydoingnow?
最新回复
(
0
)