首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.epp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在//*****error******的下面,修改该语句即可。 #include cla
使用VC6打开考生文件夹下的源程序文件modil.epp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在//*****error******的下面,修改该语句即可。 #include cla
admin
2019-05-14
55
问题
使用VC6打开考生文件夹下的源程序文件modil.epp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
10
6
30
2
2
注意:错误的语句在//*****error******的下面,修改该语句即可。
#include
class CMyClass
{
private:
int number;
int Add(int i)
{
return number+=i;
}
int Sub(int i)
{
return number-=i;
}
int Mul(int i)
{
return number*=i;
)
int Div(int i)
{
if (i!=0)
{
return number/=i;
}
else
return number;
}
//*****error******
typedef int(FUNC)(int);
//*****error******
FUNC func[];
public:
CMyClass()
{
func[0]=CMyClass::Add;
func[1]=CMyClass::Sub;
func[2}=CMyClass::Mul;
func[3]=CMyClass::Div;
number=0;
}
int CallFunction(int i,int j)
{
//*****error******
return(func
)(j);
}
};
void main()
{
CMyClass myobj;
cout<
cout<
cout<
cout<
cout<
}
选项
答案
(1)typedef int(CMyClass::*FUNC)(int); (2)FUNC func[4]; (3)return(this->*func[i])(j);
解析
(1)在类中定义函数指针须指定类名及指针定义运算符水,因此第1个标识下函数指针正确的定义为“typedefint(CMyClass::*FUNC)(int);”。
(2)函数指针数组本身是数组类型,因此在定义时如果没有初始化,就必须指定数组大小,在本题中因为指针数组包含的指针变量需要指向四种算数运算,因此定义指针数组大小为4,即第2个标识下应改为“FUNC func[4];”。
(3)func是指针数组,因此访问的时候需要有指针运算符“*”,第3个标识下应改成“return(this->*func
)(j);”。
转载请注明原文地址:https://kaotiyun.com/show/3E8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序输出的结果是()。#include<stdio.h>fun1(chara,charb){charc;c=a;a=b;b=c;}fun2(char*a,charb){charc;c=*a;*a=b;b=c;}
有如下程序:#include<iostream>usingnamespacestd;intmain(){int*p;*p=9;cout<<"Thevalueatp:"<<*p;r
以下程序的输出的结果是()。#include<iostream.h>voidmain(){inti,k,a[10],p[3];k=5;for(i=0;i<9;i++)a[i]=i;for(
有如下程序:#include<iostream>usingnamespacestd;classAA{intn;public:AA(intk):n(k){}intget(){retur
有如下程序:#include<iostream>usingnamespacestd;voidfun(int&x,inty){intt=x;x=y;y=t;}intmain(){inta[2]={
若有如下程序段:#include<iostream>usingnamespacestd;intmain(){char*p="abcdefgh",*r;r=p;cout<<*r<<end1;
在数据库系统的组织结构中,下列()映射把用户数据库与概念数据库联系了起来。
执行以下程序后,输出结果第二行的内容是______。#include<iostream>usingnamespacestd;classTestClass{public:virtualvoidwho(
已知枚举类型定义语句为:enumToken{NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
随机试题
相对渗透率是绝对渗透率与有效渗透率之比。()
德国教育督导机构的设置是()
最早出现的区域性国际金融机构是【】
下列不是实验室质量管理体系文件中必备的内容是
卡托普利常见的不良反应是
哺乳期妇女患滴虫性阴道炎,适宜的治疗方法是
我国货主A公司委托B货运代理公司办理一批服装货物海运出口,从青岛港到日本神户港。B公司接受委托后,出具自己的HouseB/L给货主。A公司凭此到银行结汇,提单转让给日本D贸易公司。B公司又以自己的名义向C海运公司订舱。货物装船后,C公司签发海运提单给B公
推进我国国民经济和社会信息化,切实走新型工业化道路,就必须坚持()。
某施工单位与某基层政府签订合同,规定该建筑队承建该政府的办公大楼,后来该施工队没有按照合同规定进行建设,基层政府诉至法院。关于施工单位和基层政府之间的法律关系,下列说法正确的是()
社会主义社会发展的直接动力是()
最新回复
(
0
)