首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.epp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在//********error********
使用VC6打开考生文件夹下的源程序文件modil.epp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在//********error********
admin
2021-05-06
38
问题
使用VC6打开考生文件夹下的源程序文件modil.epp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
10
6
30
2
2
注意:错误的语句在//********error********的下面,修改该语句即可。
1 #include
2 class CMyClass
3 {
4 private:
5 int number;
6 int Add(int i)
7 {
8 return number+=i ;
9 }
10 int Sub(int i)
11 {
12 return number -=i;
13 }
14 int Mul(int i)
15 {
16 return number*=i;
17 }
18 int Div(int i)
19 i
20 if(i!=0)
21 {
22 return number/=i ;
23 }
24 else
25 return number;
26 }
27 //******error******
28 typedef int(FUNC)(int);
29 //******error******
30 FUNC func[];
31 public:
32 CMyClass()
33 {
34 func[0]=CMyClass::Add;
35 func[1]=CMyClass::Sub;
36 func[2]=CMyClass::Mul;
37 func[3]=CMyClass::Div;
38 number=0 ;
39 }
40 int CallFunction(int i,int J)
41 {
42 //******error******
43 return(func
)(J);
44 }
45 };
46 void main()
47 {
48 CMyClass myobj;
49 cout<
50 cout<
51 cout<
52 cout<
53 cout<
54 }
选项
答案
(1)typedef int(CMyClass::*FUNC)(int); (2)FUNC func[4]; (3)return(this->*func[i])(j);
解析
CMyClass类有一个成员变量number,多个成员函数分别实现加减乘除功能。使用typedef定义了一个返回值是整型并带有一个整型参数的函数指针,并通过实例化一个容量为4的函数指针数组实现对类中定义的方法的调用。
[解题思路]
(1)在类中定义函数指针须指定类名及指针定义运算符*,因此第1个标识下函数指针正确的定义为“typedef intrCMyClass::*FUNC)(int);”。
(2)函数指针数组本身是数组类型,因此在定义时如果没有初始化,就必须指定数组大小,在本题中因为指针数组包含的指针变量需要指向四种算数运算,因此定义指针数组大小为4,即第2个标识下应改为“FUNC func[4];”。
(3)func是指针数组,因此访问的时候需要有指针运算符“*”,第3个标识下应改成“retum(this->*func
)(j);”。
转载请注明原文地址:https://kaotiyun.com/show/9Dfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类声明和函数声明:classBase{intm;public:intn;protected:intp;};classDe
要使程序的输出结果为Base,则在横线处填写的派生类Derived的继承方式是()。#includeusingnamespacestd;classBase{public:voidprint(){cout
请打开考生文件夹下的解决方案文件proj2,其中有两个类:一是销售类(sale),用于表示按照一件商品的基本价格进行销售;另一个是打折销售类(DiscountSale),用于表示在基本价格基础上按一个折扣比例进行销售。DiscountSale类继承了sal
请打开考生文件夹下的解决方案文件proj1,其中在编辑窗口内显示的主程序文件中定义有Xabc类和主函数main。在程序文本中位于每行”//ERROR*********found*********下面的一行有错误,请加以更正。更正后程序的输出为:
下列关于模板的叙述中,错误的是()。
有如下类说明:classTestClass{intx:public:TestClass(intn){x=n;}};classTestClass1:publicTestClass{inty;public:TestClass1(i
有如下程序:classBase{public:intdata;};classDerivedl:publicBasef};};classDerived2:protectedBa
如果利用C++流进行输入输出,下面的叙述中正确的是()。
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。
下面不属于软件测试实施步骤的是()。
随机试题
对接焊缝试件进行焊接工艺评定时,可以不做无损检测。
A、根B、根茎C、块茎D、根及根茎E、鳞茎知母的药用部位是
某城市房地产交易中,卖方、买方应缴纳的税费分别为正常成交价格的6%、3%,某宗房地产交易中买方付给卖方2500元/m2,应缴纳的税费均由买方负担,则该宗房地产的正常成交价格为()元/m2。
对混凝土抗渗性能影响最大的因素是()。[2009年真题]
下列选项中,不属于私人银行业务的特征的是()。
某省党委高度重视国家监察体制改革工作,通过省人民代表大会选举产生了省监察委员会,有效整合反腐力量,实现对全省所有行使公权力的公职人员监察全覆盖,进一步推进全面从严治党向纵向延伸。这做法()。①表明该机构将由同级党委选举产生,并对党委负责②是通过
定位是对产品在未来的潜在顾客的脑海里确定一个合理的位置。定位的方法有多种,如强化定位、比附定位、单一位置策略、寻找空隙策略、类别品牌定位、再定位等。其中再定位,意即打破产品在消费者心目中所保持的原有位置与结构,使产品按照新的观念在消费者心目中重新排位,调理
华生研究儿童的()三种非习得性情绪反应。
定义如下枚举类型:enum{Monday,Tuesday,Wednesday,Thrusday,Friday=2};表达式Wednesday==Friday的值是()。
Almostsincethebeginningofmankind,governmentshavebeenrecordingthenumbersoftheirpopulace.Thefirstknowncensusrep
最新回复
(
0
)