首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
43
问题
使用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://jikaoti.com/ti/DvA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序段:charC[20]="examination";C[4]=0;cout<<c<<endl;这个程序的输出结果是______。
有如下程序段:for(inti=i;i<=50;i++){if(i%31=0)continue;elseif(i%51=0)continue;cout<<i<<",";这个程序的输出结果是_____
有如下程序段:intx=1,y=2,z=3;x=x^z:y=y^z;z=x^y:cout<<x<<y<<z;这个程序段的输出结果是______。
以下程序的执行结果为()。#include<iostream.h>classSample{intn;public:Sample(inti){n=i;}operator++(){n++;}
下列说法中错误的是()。
下面程序的运行结果是()。#include<iostream.h>intx=5;intfan(inta){intc;c=x*a;returnc;}voidmain(
若有如下程序段:#include<iostream>usingnamespacestd;intmain(){char*p="abcdefgh",*r;r=p;cout<<*r<<end1;
阅读以下程序:#include<iostream.h>voi6main(){staticinta[][2]={5,3,1,2};inti,j,s1=0;for(i=0;i<2;i++)for(
执行以下程序后,输出结果第二行的内容是______。#include<iostream>usingnamespacestd;classTestClass{public:virtualvoidwho(
有如下程序:#include<iostream>usingnamespacestd;classA{public:staticinta;voidinit(){a=1;}A(inta=2){
随机试题
专利代理师在从事专利代理工作中应当遵守以下哪些规定?
男,20岁,持续高热1周,伴腹痛、腹泻。体检:肝肋下2cm,质软,脾肋下2cm。此时最可能的疾病诊断是:()
患儿男,6岁。发病3日,口腔下前牙唇侧牙龈出血,口中常有血腥味,伴疼痛。查体:T38.9℃,下颌下淋巴结肿大,压痛。上、下前牙龈乳头红肿,龈乳头少许溃疡。急性期处理应包括
A.进餐后2小时疼痛B.疼痛无固定时间C.进食后1小时内疼痛D.进食后3~4小时疼痛E.进餐前2小时疼痛十二指肠溃疡疼痛的特点是
证券组合的风险的大小取决于单个证券的方差、投资比例以及证券之间的相关系数。( )
质押合同的条款不包括()。
()年,联合国提出了“以社区为基础的社会发展”方案。
英国伦敦曾以雾都闻名世界,在“伦敦烟雾事件”之后痛定思痛,制定了世界上第一部空气污染防治法,在科学研究的基础上采取了一系列切实有效的行动,历时近半个世纪,完成了从浓雾弥漫到蓝天白云的巨变。20世纪40年代的“光化学烟雾事件"使美国洛杉矶“闻名世界",而为了
有些单位实行竞争性薪酬体系,员工的工作业绩会与他人对比评估。由此决定是否能够加薪。在庆业公司,加薪往往要考虑到员工的教育经历和工作经验。但是,庆业公司的新任总经理认为,应该倡导团队精神。在公司中营造一种和谐融洽的工作环境。以下哪项如果为真,可以成为新任总
均输
最新回复
(
0
)