首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中含有一个源程序文件proj2.cpp。 其中定义了类Bag和用于测试该类的主函数main。类Bag是一个袋子类,用于存放带有数字标号的小球(如台球中用的球,在类中用一个整数值
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中含有一个源程序文件proj2.cpp。 其中定义了类Bag和用于测试该类的主函数main。类Bag是一个袋子类,用于存放带有数字标号的小球(如台球中用的球,在类中用一个整数值
admin
2019-03-05
46
问题
请使用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://www.kaotiyun.com/show/ovAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在下面横线上填上适当的语句,完成程序。#include<iostream>usingnamespacestd;classBase{intx:
有如下程序:#include<iostream>usingnamespacestd;classpoint{intx,y;public:point(intvx,intvy){x=vx;
以下函数实现的功能是voidfun(char*s){char*p,*q,temp;p=s;q=s+strlen(s)-1;while(p<q){temp=*p;*p=*q;
有如下数组声明:intvalue[30];,下标值引用错误的是
设有语句:charstr1[]="string",str2[8],*str3,*str4="string";,则下列对库函数strcpy调用不正确的是
设有如图所示的二叉树则对该二叉树前序遍历的结果是
若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
在长为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为
顺序存储方法是把逻辑上相邻的节点存储在物理位置______的存储单元中。
已知一棵二叉树的先根序列为ABCDEFK,中根序列为DGBAFCK,则结点的后根序列为()
随机试题
管柱内外全部被水泥固死,可采取()。
抗原抗体反应中,抗体过剩时的沉淀反应称为
除给予肠梗阻治疗外还应给予何种治疗在纠正电解质紊乱的同时还要治疗
某医师长期病假,痊愈后上班。医院医务处提醒其应按规定需重新办理执业注册手续,因其中止执业活动时间超过
治疗咽喉肿痛,兼有痰热壅盛者,宜选用的药物是()治疗咽喉肿痛,证属热毒壅结者,宜选用的药物是()
不能用作耐酸涂层的涂料是:[2000--056]
当干路设计车速为50km/h时,互通式立交最小净距值为()
沉入桩施工安全控制主要包括()。
五线谱中,音符的符干有的朝上,有的朝下,只有在()的音符符干可以朝上和朝下。
把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:
最新回复
(
0
)