首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在//********error********
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在//********error********
admin
2017-03-22
66
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
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/qnAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<iostream>#include<fstream>usingnamespacestd;intmain(){fstreamfile;file
Jackson方法是一种面向【】的结构化方法。
如果表达式--x/y中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为
下列对字符数组进行初始化的语句正确的是.
下列语句段将输出字符’*’的个数为inti=100;while(1){i--;if(i==0)break;cout,,’*’;}
数据库管理系统常见的数据模型有层次模型、网状模型和【】3种。
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是#include<iostream.h>voidmain(){int*p,*q,a,b;p=&a;
有如下类定义:classSample{public:Sample();~Sample();private:staticintdata;};将静态数据成员data初始化为0的语句是【】。
在数据库技术中,实体集之间的联系可以是一对_或一对多或多对多的,那么“学生”和“可选课程”的联系为【】。
有如下的函数定义:intXfun(int*a,intn){intX*a;for(int*pa=a+1;paif(*pa>x)x=*pa;retumx;}若在执行了语句:intx[5]
随机试题
Addison病(Addisondisease)
A.竞争抑制B.非竞争结合C.针对多克隆抗体特异性较低D.针对单克隆抗体特异性较强E.与两种抗体无关免疫放射分析的反应模式
有止血作用的补血滋阴润燥药是()
舌红无苔在以下哪种情况下为正常
在预应力筋锚具组装件达到实测极限拉力时,应是由于预应力筋的断裂,而不址由于夹具的破坏所致。()
买卖双方签订合同,允许买方在交付一定费用后,取得在特定时间内、按协议价格买进或卖出一定数量证券的权利,这种交易方式称为()。
2002~2011年,我国每千人拥有企业数量同比增长率低于5%的有:
阅读下列材料,回答问题:材料一朝鲜战争后的韩国社会混乱,经济困难,至1958年经济尚未恢复到1940年的水平。1964年韩国当局确定了“出口主导型的经济开发战略”,提出“出口第一主义”“贸易立国”等口号,大力引进外国资本和技术设备,利用本国廉
根据下列资料。回答下列问题。2010年,浙江省第二产业的增加值约为2007年的()。
A、 B、 C、 A
最新回复
(
0
)