首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
58
问题
使用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://kaotiyun.com/show/kwAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序的结果是()。#include<iostream.h>classA{inta;public:A():a(1){}voidshowa(){cout<<a;}};Cl
下面程序的结果为#include"iostream.h"voidchange(inta,intB){inttemp;temp=a;a=b;b=temp;}voidm
类MyClass的定义如下:classMyClass{public:MyClass(){value=0;}SetVariable(inti){value=i;}private:intvalue
下列叙述中错误的是()。
operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为______的。
有如下程序:#include<iostream>usingnamespacestd;classDA{intk;public:DA(intx=1):k(x){}~DA(){cout<<k;}
设有定义charstr[80]以下不能将输人数据nrst\nsecond\<CR)读取到数组str的语句是()。
类中包含了一个静态成员函数,则main函数中和P.f1(P);语句具有同样功能的语句为______。#include<iostream.h>classM{public:M(intA){A=a;B+=a;}static
下列不是描述类的成员函数的是
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
随机试题
股票在会计上被分类为流动资产,是鉴于它的()
A.蚊传播B.硬蜱传播C.蝇传播D.蚤传播E.虱传播鼠疫可由
患者,男,72岁。既往有慢性支气管炎及阻塞性肺气肿病史20余年,近半年来出现反复双下肢水肿。5天来咳嗽、咳痰加重,胸闷,低热,口唇发绀、神志不清。查体:双中下肺闻及干湿啰音,心率120次/分,律不齐,可闻及期前收缩。治疗意识障碍最主要的措施是
王某拟设立一家个人独资企业,向某律师进行咨询,以下说法为该律师提供的法律意见,正确的是()
“利润表”中“本期金额”栏各项目应根据损益类账户的()填列。
产品生产费用在完工产品与在产品之间分配,采用在产品成本按所耗的原材料费用计算,必须具备的条件是()。
“葬我于高山之上兮,望我大陆。大陆不可见兮,只有痛哭!葬我于高山之上兮,望我故乡。故乡不可见兮,永不能忘!天苍苍,野茫茫。山之上,国有殇!”原国民党元老于右任在《望大陆》这首诗中对祖国大陆的魂牵梦绕体现了()。
(1)在名称为Form1、标题为“列表框练习"的窗体上画一个名称为List1的列表框,表项内容依次输入XXX、ddd、mmm和aaa,且以宋体14号字显示表项内容,如图3.102(a)所示。最后设置相应属性,使运行后列表框中的表项按字母升序方式排列,如图3
A、Shedoesn’tknowhowtoswim.B、Thewaterwastoodeep.C、Thewaterwastoocold.D、Shedidn’thaveenoughtime.C
Whenadark-coloredS.U.V.racedthroughthestreetsofWashington,flippedoverandburstintoflamesonFox’sfast-pacedact
最新回复
(
0
)