首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: Numbe=8 注意:错误的语句在//********error********的下面,修改该语句即可。 1
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: Numbe=8 注意:错误的语句在//********error********的下面,修改该语句即可。 1
admin
2015-05-30
26
问题
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
Numbe=8
注意:错误的语句在//********error********的下面,修改该语句即可。
1 #include
2 class CMyClass
3 {
4 public:
5 //******error******
6 void&Get()
7 {
8 return&Number;
9 }
10 void Set(int m)
11 {
12 Number=m;
13 }
14 void display()
15 {
16 cout<<"Number="<
17 }
18 private:
19 int Number ;
20 };
21 void main()
22 {
23 int*P ;
24 //******error******
25
26 //******error******
27 P=t.Get();
28 p=8 ;
29 t.display();
30 }
选项
答案
(1)void*Get() (2)添加语句:CMyClass t ; (3)P=(int*)t.Get();
解析
程序中定义了类CMyClass,含有一个成员变量Number,Get()返回Number的地址(指针),Set(int m)函数可改变成员变量的值,display()~数在屏幕上打印Number的值。
[解题思路]
(1)Get()的返回的是“return&Number;”,即返回Number的地址,主函数中P为整型指针,但是“P=t.Get();”有错误,因为Get()函数返回的不是整型指针,而应该是空指针(void),空指针可强制类型转换成其他类型的指针,第1个标识下应改为“void*Get()”。
(2)由于Get()函数返回空指针(void),要使P指向Get(1函数的返回值,必须做强制类型转化,即第3个标识下应改为“P=(int*)t.Get();”。
(3)变量t可以使用Get()函数,说明t为CMyClass类对象。即第2个标识下应添加对象定义,故第2个标识下添加“CMyClass t:”。
转载请注明原文地址:https://jikaoti.com/ti/jBE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
重载一个运算符函数时,其参数表中没有任何参数,这说明该运算是______。
类的析构函数是在______调用的
以下定义语句中,错误的是______。
设有关系模式R(A,B,C,D,E,P),其函数依赖集为{E→D,C→B,(C,E)→F,B→A},则R最高达到______。
下列关于数组的描述正确的是()。
关于运算符重载,下列表述中正确的是()。
在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示()
()提供了类对外部的接口,私有成员是类的内部实现,而保护成员不允许外界访问,但允许派生类的成员访问,这样既有一定的隐藏能力,又提供了开放的接口。
关于类模板,下列表述中不正确的是()。
以下各选项组中,均是C++语言关键字的组是
随机试题
设f(x)=则∫-22f(x)dx=_______.
患儿,男,9岁。口腔检查发现上颌左侧区有恒中切牙,恒侧切牙,乳尖牙,第一乳磨牙,第二乳磨牙及第一恒磨牙。其中第一恒磨牙面龋坏,无自发性痛史,要求治疗上颌左侧区牙齿用牙位记录法记录,正确记录为
病理性黄疸,下列错误的是
患者,男,24岁,乐果中毒,处于昏迷状态,须立即进行洗胃。适宜的洗胃液是
某公司年产焦炭120万t。新建工程项目位于某煤矿,项目投资17.6亿元,于2009年7月建成。工程包括2座55孔炭化室、高6m复热式焦炉,还包括原料场、输配煤系统、筛焦系统、干熄焦(备用湿熄焦)、煤气净化及化产回收等配套工程。装煤出焦、干熄焦烟尘采用地面除
关于会计科目与会计账户关系,说法正确的是()。
普通年金终值系数的基础上,期数加l、系数减1所得的结果,数值上等于()。
设求原方程的通解.
[*]
已知:int[]a=newint[100];,在下列给出的数组元素中,非法的是()。
最新回复
(
0
)