首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在//********error********
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在//********error********
admin
2017-03-22
32
问题
使用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://jikaoti.com/ti/4bt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
“年龄在18-25之间”这种约束是属于数据库当中的
下列数据结构中,按先进后出原则组织数据的是
若有以下程序#include<iostream>usingnamespacestd;classA{private:inta;public:
下面程序的运行结果是【】。#include<iostream>usingnamespacestd;classcount{staticintn;public:
有如下程序#include<iostream.h>intfunc(inta,intb){return(a+b);}voidmain(){intx=2,y=5,
有以下程序#include<iostream.h>voidfun(inta,intb,intc){a=456,b=567,c=678;}voidmain(){
计算斐波那契数列第n项的函数定义如下:intfib(intn){if(n==0)return1;elseif(n==1)return2;elsereturnfib(n-1)+ilb(n-2);}若执行函数调用表达式fib(
有如下两个类定义:classAA{};classBB{AAv1,*v2;BBv3;int*v4;};其中有一个成员变量的定义是错误的,这个变量是
已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则
有如下的函数定义:intXfun(intx){inty=x;{intx=10;y+=x;}returnx+y;}通过表达式Xfun[5]调用该函数,则得到的返回值为______。
随机试题
在初次使用胰岛素治疗时,一般选用()
下列不属于病史采集的内容是()
关于铁蛋白,正确的描述是()。
按照国家标准《城市用地分类与规划建筑用地标准》划分,城市建设用地不包括()。
路基作为道路工程的主要组成部分,应满足的基本要求是具有下列的()。
E公司只产销一种甲产品,甲产品只消耗乙材料。2019年第四季度按定期预算法编制2020年的企业预算,部分预算资料如下:资料一:乙材料2020年初的预计结存量为2000千克,各季度末乙材料的预计结存量数据如下表所示:每季度乙材料的购货款于当季支付40%
取保候审最长不得超过12个月。( )
求二元函数z=xy在条件x+y=1下的极值点坐标.
若变量已正确定义,在if(W)pfintf("%d\n",k);中,以下不可替代W的是()。
Manypeoplewonderwhysomemenwanttoliveonthemoon.Itis【1】notthekindofplacewheremostmenwouldchoosetolive.But
最新回复
(
0
)