首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: i=5 i=10 i=15 i=20 注意:错误的语句在//******error******的下面,修改该语句即可。 #include
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: i=5 i=10 i=15 i=20 注意:错误的语句在//******error******的下面,修改该语句即可。 #include
admin
2016-10-28
95
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
i=5
i=10
i=15
i=20
注意:错误的语句在//******error******的下面,修改该语句即可。
#include<iostream.h>
class CMyClass
{
public:
template<class T>
void func(T x,T y)
{
//********error********
T i=0;
if(x>=i)
{
i=i+x:
}
else
{
i=i+y;
}
cout<<"i="<<i<<endl;
}
};
void main()
{
CMyClass t;
t.func(5,0);
//********error********
t.func(68,(char)1);
float i=10.0;
//********error********
t.func(i,1);
t.func(5,5);
}
选项
答案
(1)static T i=0; (2)t.func((char)68,(char)1); (3)t.func((int)i,1);
解析
(1)在主函数内定义了类CMyClass对象t,第一次调用func()函数传入整型参数5和0,此时T表示整型(int),5>0,此时i和x的和为5,故屏幕输出i的值为i=5;第二次调用func()函数,传入参数为char型数据,此时T表示字符型(char),char i=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://kaotiyun.com/show/uONp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序的输出结果是【】。#include<iostream.h>voidmain(){inta[6]={1,2,3,4,5,6};for(inti=0;i<5;i++)
当使用带参数的操作子时,程序中必须包含头文件______。
下列关于析构函数的描述中,错误的是()。
下列有关指针的用法中错误的是()。
若已知charstr[20];,有语句cin>>str;当输入为:Thisisaprogram所得的结果是str=()。
下面的说明中,正确的函数定义是()。
下列程序的输出结果是#include<iostream.h>voidmain(){char*str="12123434";intxl=0,x2=0,x3=0,x4=0,i;
C++语言中的基本数据类型是()。
在算法正确的前提下,评价一个算法的两个标准是【】。
随机试题
Hisflushedlookwasonlyonemanifestationofhisfever.
牵涉痛的特点不包括
男性,55岁。半年前曾因原发性肝癌而做右半肝切除术,手术后在门诊定期随访。下列哪项检查最能早期预测癌肿复发
不属于正式可行性研究报告组成部分的是()。
个人住房贷款期限在一年以下(含一年)的,采用的还款方式为()。
在以知识为基础的经济兴起背后的基本论点是:在过去五年间,曾经存在着集中的市场激励的奇特结合,导致了计算技术、生物技术、电子通讯和运输领域巨大的技术进步,并已开始_______经济组织和政府按未来将要据以行使其职能的方式发生巨大变化的新希望。的确,有大量令人
对“科教兴国”理解错误的是()。
乡镇人民政府无权自主开除国家公务员。()
UsingFacebookmakespeoplesadder,atleastaccordingtosomeresearch.Butjustwhatisitaboutthesocialnetworkthattakes
Forthispart,youareallowed30minutestowritealetterofappealcallingforstudentparticipationinanaid-educationproj
最新回复
(
0
)