首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++6,0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为 10 6 30 2 2 注意:错误的语句在//******error******的下面,修改
使用VC++6,0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为 10 6 30 2 2 注意:错误的语句在//******error******的下面,修改
admin
2013-11-15
88
问题
使用VC++6,0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为
10
6
30
2
2
注意:错误的语句在//******error******的下面,修改该语句即可。
试题程序:
#include
class TC
{
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:
TC()
{
func[0]=TC::Add;
fune[1]=TC::Sub;
func[2]=TC::Mul;
func[3]=TC::Div;
number=0;
}
int CallFunction(int i,int j)
{
//******error******
return(fune
)(j);
}
};
void main()
{
TC myobj;
cout<
cout<
cout<
cout<
cout<
}
选项
答案
(1)“typedef int(TC::*FUNC)(int);”。 (2)“FUNC func[4];”。 (3)“return(this-)*func[i])(j);”。
解析
在类中定义函数指针须指定类名及指针定义运算符*,因此第1处函数指针正确的定义为“typedef int(TC::*FUNC)(int);”。函数指针数组本身是数组类型,因此在定义时如果没有初始化,就必须指定数组大小,在本题中因为指针数组包含的指针变量需要指向4种算数运算,因此定义指针数组大小为4,即第2处应改为“FUNC func[4];”。func是指针数组,因此访问时需要有指针运算符“*”,第3处应改成“return(this->*func
)(j);”。
转载请注明原文地址:https://kaotiyun.com/show/uHNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对于嵌套的if…else语句,C++语法规定else总是与【】匹配。
C++源程序的扩展名为()。
在下列选项中,没有构成死循环的程序是()。
下列关于C++函数的叙述中,正确的是()。
经常和一个运算符连用,构成一个运算符函数名的C++关键字是【】。
在C++中,打开一个文件,就是将这个文件与一个【】建立关联,关闭一个文件,就是取消这种关联。
下面程序的输出结果是()。#include<iostream>usingnamespacestd;classA{public:A(){cout<<"A";}}class
下面关于运算符重载的描述错误的是()。
对象还有操作,用于改变对象的状态,对象及其操作就是对象的【】。
如果要在类的对象上使用运算符,除了运算符=和【】以外,其它的必须都要被重载。
随机试题
关于等渗与等张的叙述哪些是正确的
下列药物中哪个不能发生水解反应
特殊人群的脏腑都有其特殊性,使用中药须特殊注意,要因人而异,辨证论治,合理用药,以确保特殊人群在服用中药时安全有效,避免出现不良后果。柏子养心丸中朱砂的含量占
鼻饲法插入胃管的长度为
下列属于土壤条件指数的有()。
经纪人以自己的名义为( )从事贸易活动,委托人支付报酬的合同是行纪合同。
UNIX系统中,文件存储器的管理采用的是()。
阅读以下关于动态主机配置协议(DHCP)的说明,回答问题1至问题4。【说明】在小型网络中,IP地址的分配一般都采用静态方式,需要在每台计算机上手工配置网络参数,诸如IP地址、子网掩码、默认网关和DNS等。在大型网络中,采用DHCP完成基本网络配置
如下事件过程: FunctionFeed(x) Ifx<10Then Feed=X Else Feed=10+x EndIf EndFunction PrivateSubCommand1_Click(
InEurope,therehasbeenaseriousdeclineinphysicalactivityoverthepast50years.Adultsaged20-60years(1)_____500kcal
最新回复
(
0
)