首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
21
问题
使用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全国计算机二级
相关试题推荐
下列程序的输出结果是#include<iostream.h>voidmain(){char*str="12123434";intxl=0,x2=0,x3=0,x4=0,i;
下面程序的运行结果为【】。#include<iostream.h>voidmain(){unsignedcharvalue=127;inttotal=100;value++;
给出以下程序的执行结果【】。#include<iostream>usingnamespacestd;intn=1;voidFun();intmain(){n++;
若要打开二进制文件binfile写方式,输出到文件尾则应为:ofstreambfile("binfile",______);
当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为【】。
软件工程研究的内容主要包括【】技术和软件工程管理。
以下运算符中不能重载的运算符是
C++中运算符优先级由高到低排列正确的是()。
关于模板下列说法不正确的是
随机试题
药物化学的研究内容是
A木通B石韦C金钱草D萆薢E茵陈湿热黄疸的首选药是
周某某,男,18岁,前日因食过饱后即胃脘胀痛,嗳腐吞酸,大便不畅,苔厚腻,前医曾用保和丸不效,现胃脘痛而便闭,当用保和丸合下列何方治疗为最佳()
A.骨骼B.肾脏C.肝脏D.骨髓E.神经组织铅的主要蓄积部位是()
下列有关国际法与国内法的表述哪些是错误的?
单位工程概算包括()。
20×7年2月1日,甲公司与乙公司签订了一项总额为20000万元的固定造价合同,在乙公司自有土地上为乙公司建造一栋办公楼。截至20×7年12月20日止,甲公司累计已发生成本6500万元,20×7年12月25日,经协商合同双方同意变更合同范围,附加装修办公楼
(2015)14岁的张某就读于某寄宿制学校,某晚就寝时头朝无护栏的方向(床具等符合国家标准)。宿舍老师巡逻时多次口头提醒张某头应朝向有护栏的方向睡觉,但其并未听从。次日凌晨,张某从上铺无护栏处摔下,造成左眼失明。此案中校方应()。
小杨设计制备石灰搽剂。其设计的处方如下:花生油10mlCa(OH)2饱和水溶液10ml根据上述案例,回答下列问题:乳剂属于热力学不稳定的非均匀相分散体系,乳剂常会发生哪些变化,并分析其发生的原因。
(1)ThesocialorganizationofEgyptwasdistinguishedbyasurprisingdegreeoffluidity.Noinflexiblecastesystemeverdevelo
最新回复
(
0
)