首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
16
问题
使用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://kaotiyun.com/show/YKNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
fstream、ifstream和ofstream文件流类的成员函数______关闭文件。
在双链表中,每个节点有两个指针域,一个指向前驱节点,另一个指向【】。
下面关于虚函数的描述中正确的是
使用函数模板的方法是先说明函数模板,然后实例化成相应的______进行调用执行。
从一个函数模板产的模板函数是同名的,因此编译器用______的解决方法调用相应函数。
下列运算符中,在C++语言中不能重载的是
下列虚基类的声明中,正确的是()。
C++中运算符优先级由高到低排列正确的是()。
下面是复数类complex的定义,其中作为友元函数重载的运算符“--”的功能是将参数对象的实部减1,然后返回对该对象的引用;请补充完整。classcomplex{private:intreal;iht
随机试题
党的十三届全国人大一次会议通过的宪法修正案,把习近平新时代中国特色社会主义思想载入宪法,实现了从党的指导思想向国家指导思想的转化。习近平新时代中国特色社会主义思想是()
内分泌疾病定位诊断检查不包括
A.鹅口疮与声音嘶哑B.咽喉和支气管刺激C.心悸和心动过速D.口干、口苦及尿潴留E.发热、脱水和心律失常
相关人员在值班、巡查、检测、灭火演练中发现的消防设施存在问题和故障后,下列说法中不正确的是()。
协议出让国有土地使用权的最低价由()批准。
1949年,中共召开七届二中全会主要是为了()。
如果学校的财务部门没有人上班,我们的支票就不能人账。我们的支票不能人账,因此,学校的财务部门没有人上班。请在下列各项中选出与上句推理结构最为相似的一句。()
进程P1、P2、P3、P4、P5和P6的前趋图如下图所示:若用PV操作控制这6个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为(49);空③和空④处应分别为(50);空⑤和空⑥处应分别为(51)。(49)
Completethetablebelow:WriteNOMORETHANTHREEWORDSforeachanswer.
【1】【4】
最新回复
(
0
)