首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中含有一个源程序文件proj2.cpp。 其中定义了类Bag和用于测试该类的主函数main。类Bag是一个袋子类,用于存放带有数字标号的小球(如台球中用的球,在类中用一个整数值
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中含有一个源程序文件proj2.cpp。 其中定义了类Bag和用于测试该类的主函数main。类Bag是一个袋子类,用于存放带有数字标号的小球(如台球中用的球,在类中用一个整数值
admin
2019-03-05
47
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中含有一个源程序文件proj2.cpp。
其中定义了类Bag和用于测试该类的主函数main。类Bag是一个袋子类,用于存放带有数字标号的小球(如台球中用的球,在类中用一个整数值表示一个小球),其运算符成员函数=用来判断两个袋子对象是否相同(即小球个数相同、每种小球数目也相同,但与它们的存储顺序无关);成员函数intInBag(intball)用来返回小球ball在当前袋子内的出现次
数,返回0表示该小球不存在。为类实现这两个函数,其用法可参见主函数main。
运算符函数operator=和成员函数InBag的部分实现代码已有文件proj2.epp中给出,请在标有注释“//TODO:”的行中添加适当的代码,将这两个函数补充完整,以实现其功能。
提示:在运算符函数=中首先判断两个袋子内的小球个数是否相同,再调用InBag函数来判断每种小球在两个袋子内的出现次数是否相同。
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//proj2.cpp
#include
usingnamespacestd;
constintNAXNUH=100;
classBag{
private:
inthum;
intbag[NAXNUH];
public:
Bag(intm[],intn=0);//构造函数
booloperator==(Bag&b);//重载运算符=
intTnBag(int:ball);//某一小球在袋子内的出现次数,返回0表示不存在
};
Bag::Bag(intm[],intn)
{
if(rl>Hg_XNUH){
cerE<<"TOOmanymembers\n";
exit(-1);
}
for(inti=0;i
bag
=m
;
num=n;
}
boolBag::operator=(Bag&b)//实现运算符函数=
{
if(hum!=b.hum)//元素个数不同
returnfalse;
for(inti=0;i
//**********found**********
if(________)//TODO:加入条件,判断当前袋子中每个元素在当前袋子和袋子b中是否出现次数不同
//**********found**********
________;//TODO:加入一条语句
returntrue;
}
intBag::lnBag(intball)
{
intcount=0;
for(inti=0;i
//**********found**********
if(________)//TODO:加入条件,
判断小球ball是否与当前袋子中某一元素相同
//**********found**********
________;//TODO:加入一条语句
returncount;
}
intmain()
{
intdata[NAXNUH],n,i;
cin>>n;
for(i=0;i
cin>>data
;
Bagb1(data,n);//创建袋子对象b1
cin>>n;
for(i=0;i
cin>>data
,
Bagb2(data,n);//创建袋子对象b2if(b1=b2)//测试b1和b2是否相同
cout<<"Bagb1issamewithBagb2\n";
else
cout<<"Bagb1isnot;samewithBagb2\n";
return0;
}
选项
答案
(1)InBag(bag[i]) != b.InBag(bag[i]) (2)return false (3)ball == bag[i] (4)count++
解析
(1)主要考查考生对成员函数的掌握,题目要求,判断当前袋子中每个元素在当前袋子和袋子b中出现次数是否不同,在类的定义中有函数:int InBag(int ball),用于某一小球在袋子内的出现次数,返回0表示不存在,这里可直接调用该函数。
(2)由下一条语句:return true,可知当if条件不成立时返回true,故条件成立时返回false。
(3)题目要求判断小球ball是否与当前袋子中某一元素相同,因此判断条件为ball=bag
。
(4)count作为计数,存放小球出现的次数,因此当满足条件if (ball == bag
)时,变量count加1;。
转载请注明原文地址:https://kaotiyun.com/show/ovAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
类是一个支持集成的抽象数据类型,而对象是类的______。
建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数),这3种构造函数的调用顺序为
在C++语言中,数据封装要解决的问题是
下列描述正确的是
结构化程序设计主要强调的是
有如下程序:#include<iostream>usingnamespacestd;classpoint{intx,y;public:point(intvx,intvy){x=vx;
若有以下程序:#include<iostream>usingnamespacestd;classBase{public:Base(){x=0;}intx;};classDerived1:
根据注释内容在空白处填写适当内容。classLocation{private:intX,Y;public:voidinit(intinitX,intinitY);in
面向对象的开发方法中,类与对象的关系是
在面向对象方法中,类的实例称为______。
随机试题
若函数f(χ)=+kχ在区间[0,1]上满足罗尔(Rolle)定理的条件,则常数k=()
临床选用口腔材料正确的是
婴儿少尿的标准是每日尿量少于()
顾某失业前所在单位应当按照该单位工资总额的()缴纳失业保险费顾某领取失业保险金的标准,按照()水平确定
利率是一定时间内______与存入贷出本金的比率。
当今资本主义经济危机爆发的根本原因是美国的次贷危机。()
美国阿拉斯加的海豹数量大量减少时,座头鲸的数量却增加了近两倍,由于座头鲸不可能以海豹为食,所以海豹的大量减少不可能是因为座头鲸数量的大量增加。以下哪项最能削弱结论?
设3阶矩阵A=,A-1XA=XA+2A,求X.
A、TohelpGoodGuidetrackconsumers’purchases.B、Tohelpshoppersconsumemorethoughtfully.C、Tohelpconsumersfindcheaperp
EducationOutofSchool1.Theoriginof"YouthHostel"-Germanschoolmasterstarted"YouthHostel"-Thelittleschoolhousech
最新回复
(
0
)