首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在//******error******的下面,修改该语句即可。 #include<iostre
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在//******error******的下面,修改该语句即可。 #include<iostre
admin
2016-10-28
23
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
10
6
30
2
2
注意:错误的语句在//******error******的下面,修改该语句即可。
#include<iostream.h>
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 CaliFunction(int i,int j)
{
//******error******
return(func
)(j);
}
};
void main()
{
CMyClass myobj;
cout<<myobj.CallFunction(0,10)<<endl;
cout<<myobj.CallFunction(1,4)<<endl;
cout<<myobj.CallFunction(2,5)<<endl;
cout<<myobj.CallFunction(3,15)<<endl;
cout<<myobj.CallFunction(3,0)<<endl;
}
选项
答案
(1)typedef int(CMyClass::*FUNC)(int); (2)FUNC func[4]; (3)return(this->*func[i])(j);
解析
(1)在类中定义函数指针须指定类名及指针定义运算符*,因此第1个标识下函数指针正确的定义为“typedef int (CMyClass::*FUNC)(int);”。
(2)函数指针数组本身是数组类型,因此在定义时如果没有初始化,就必须指定数组大小,在本题中因为指针数组包含的指针变量需要指向四种算数运算,因此定义指针数组大小为4,即第2个标识下应改为“FUNC func[4];”。
(3)func是指针数组,因此访问的时候需要有指针运算符“*”,第3个标识下应改成“return(this->func
)(j);”。
转载请注明原文地址:https://jikaoti.com/ti/pME0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回,请填空。intmystrlen(char*str){inti;for(i=0;______!=’\0’;i++);
拷贝构造函数的参数一般是
每个C++程序中都必须有且仅有一个
在双链表中,每个节点有两个指针域,一个指向前驱节点,另一个指向【】。
若有以下程序:#include<iostream>usingnamespacestd;classBasepublic:Base(){x=0;}intx;};classDerivedl:virtua
下面关于虚函数的描述中正确的是
有以下程序:#include<iostream.h>classA{inta;public:A(inti){a=i;}void
如果一个模板声明列出多个参数,则多个参数之间必须使用______隔开,每个参数都必须重复使用关键字______。
软件工程的出现是由于
数据流图的类型有______和事务型。
随机试题
以下哪项不是卡环折断的原因
取得执业助理医师执业证书后,具有高等学校专科学历,在医疗、预防、保健机构中需工作满几年方可参加执业医师资格考试
1岁男婴,因腹胀、便秘、反应低下、少哭、多睡11个月来诊。体检;体温2℃,四肢稍凉,皮肤粗糙,毛发枯黄稀疏,心率68次/分,心音低钝,眼距宽,唇厚舌大,身高70cm,四肢短粗,不会独坐及爬行,奉情呆滞,哭声嘶哑,腹部膨隆,有脐疝。最可能的诊断是
将许多类似的但不会同时发生的风险集中起来考虑,从而使这一组合中发生风险损失的部分能够得到其他未发生损失的部分的补偿,属于()的风险管理方法。
我国社会主要矛盾已经转变为人民日益增长的美好生活需要和不平衡不充分的发展之间的矛盾。()
有一个93人的参观团,其中男47人,女46人。他们住进一个旅馆内,旅馆内有可住11人、7人、4人的3种房间。要求男、女分住不同房间,且每个房间均住满,至少需要多少房间?()
重庆谈判,是抗日战争胜利之际,中国共产党和中国国民党两党就中国未来的发展前途、建设大计在重庆进行的一次历史性会谈。国共重庆谈判的成果有
对于顺序存储的队列,存储空间大小为n,头指针为F,尾指针为R。若在逻辑上看一个环,则队列中元素的个数为(47)。
公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是
下列有关数据库的描述,正确的是()。
最新回复
(
0
)