首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在//********error********
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在//********error********
admin
2017-03-22
77
问题
使用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://www.kaotiyun.com/show/qnAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
“年龄在18-25之间”这种约束是属于数据库当中的
有以下程序:#include<iostream>usingnamespacestd;classA{public:virtualvoidsetx(inti,int
数据的物理独立性是指当数据的【】改变时,通过系统内部的自动映象或转换功能,保持了数据的逻辑结构不变。
语句ofstreamf("DATA.DAT",ios_base::app|ios_base::binary);的功能是建立流对象f,并试图打开文件DATA.DAT并与之连接,而且
若有以下程序:#include<iostream>usingnamespacestd;#definePI3.14classPoint{private:intx
定义如下枚举类型:enum{Monday,Tuesday,Wednesday,Thrusday,Friday=2}:则下列语句正确的是
数据库设计包括两个方面的设计内容,它们是
有如下程序#include<iostream.h>intfunc(inta,intb){return(a+b);}voidmain(){intx=2,y=5,
关于二义性的描述错误的是
请将下面的类Date的定义补充完整,使得由语句:DateFirstDay;定义的对象FirstDay的值为2010年1月1日。classDate{public:Date(______):year(y),month(
随机试题
应收款项评估中,下列情形中可直接判断为全部坏账损失的是()。
WindowsServer2008提供了一些默认的用户账户,用于执行特定的管理任务或能够访问特定的网络资源,其中最常用的是Administrator账户和_____。
引起猩红热的主要病原菌为
A.金黄色葡萄球菌肺炎B.腺病毒肺炎C.毛细支气管炎D.支原体肺炎E.支气管肺炎主要由肺炎链球菌引起的肺炎是
患者,男性,35岁。近3个月来经常不明原因地紧张、害怕,思虑多,不能控制胡思乱想,但想法是自己的。为此感到苦恼而就诊。患者存在的主要症状是
雷诺数物理意义表示()。
河北省某个县里有个小孩家里很贫穷,边照顾父母边上学,对此谈谈你的看法。
甲为杀死乙而向乙射击,第一枪未打中,在其能继续向乙开枪射击的情况下,甲停止了射击。甲的行为属()。
在大型企业的数据库应用系统中,联机事务处理(OLTP)和联机分析处理(OLAP)是常见的数据管理与数据分析形式。关于OIXP和OIAP,一般情况下,下列说法正确的是()。
近年来,随着中国经济高速发展,外国人在中国工作的机会大幅增加。2012年,有24.64万外国求职者在中国注册(register),这一人数还在迅猛增长。英语教师是外国人在中国工作的一个重要岗位。此外,中国在销售、工程(engineering)和管理等领域对
最新回复
(
0
)