首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程文件proj3。本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3.h.proj3.cpp、writeToFile.obj。 补充完成proj3.h,重载复合赋值运算符+=
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程文件proj3。本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3.h.proj3.cpp、writeToFile.obj。 补充完成proj3.h,重载复合赋值运算符+=
admin
2015-06-27
48
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程文件proj3。本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3.h.proj3.cpp、writeToFile.obj。
补充完成proj3.h,重载复合赋值运算符+=。
要求:
补充编制的内容写在“//**********333**********”与“//**********666**********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFih已经编译为obj文件,并且在本程序中调用。
//proj3.h
#include
#include
usingnamespacestd;
classMiniString
{public:
friendostream&operator<<(ostream&output,constMiniString&s)
//重栽流插入运算符
{output<
}
friendistream&operator>>(istream&input,MiniString&s)
//重载流提取运算符
{chartemp[i00];//用于输入的临时数组
temp[0]=’\0’;
input>>setw(100)>>temp;
intinLen=strlenktemp);//输入字符串长度
if(inLen!=0)
{
s.length=inLen;//赋长度
if(s.sPtr!=0)delete[]s.sPtr;
//避免内存泄漏
s.sPtr=newchar[s.length+1];
strcpy(s.sPtr,temp);
//如果s不是空指针,则复制内容
}
elses.sPtr[0]=’\0’;
//如果s是空指针,则为空字符串
returninput;
}
MiniString(constchar*S="":length((s!=0)?strlen(S):0)(setString(S);}
~MiniString()fdelete[]sPtr;)//析构函数
//*************333***********
//+=运算符重载
//*************666***********
private:
intlength;//字符串长度
char*sPtr;//指向字符串起始位置
voidsetString(constchar*string2
}//辅助函数
{
sPtr=newchar[length+1];
//分配内存
if(string2!=0)
strcpy(sPtr,string2);
//如果string2不是空指针,则复制内容
elsesPtr[0]=’\0’;
//如果string2是空指针,则为空字符串
}
};
//proj3.cpp
#include
#include
usingnamespacestd;
#include"proj3.h"
intmain()
{
MiniStringstrl("World"),str2("Hello");
voidwriteToFile(char*);
str2+=strl;//使用重载的+=运算符
cout<
writeToFile("");
return0;
}
选项
答案
MiniString& operator+=(const MiniString& s) { char *pt = new char [length+1]; strcpy(pt, sPtr); int blength = length; length += s.length; delete []sPtr; sPtr = new char[length+1]; strcpy(sPtr,pt); delete []pt; for (int i = 0; i < length; ++i) sPtr[blength+i] = s.sPtr[i]; return *this; }
解析
主要考查考生对运算符重载的掌握,因为有动态数组,所以要使用new语句来重新分配空间。
转载请注明原文地址:https://kaotiyun.com/show/oBBD777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
一个双因素方差分析实验,A因素为数材,共3种;B囚素为教法,共4种。交叉分析后得到12种处理,假定每个处理中有2名被试。教学后进行测验,得到方差分析表。请补充下表的空白。
“八年研究”主要涉及四个方面问题,其中不是“八年研究”的议题的是
认为“教育的根本功能不是提高人的生产能力,而是造成人的不同品质,与现存的社会经济结构和等级秩序相适应”的教育经济学理论是()
根据教育的定义,下列哪一个选项不是教育活动?
结合我国社会主义法治建设的实际,论述全面推进依法治国的重大意义及基本要求。
设f(x)是满足=1的连续函数,则当x→0时是关于x的________阶无穷小量.
微分方程x满足初始条件y(1)=1的特解是y=____________.
下列命题中正确的个数是①若f(χ)在χ=χ0存在左、右导数且f′χ(χ0)≠f′-(χ0),则f(χ)在χ=χ0处连续②若函数极限f(χ)=A,则数列极限f(n)=A③若数列极限=A,则函数极限f(χ)=A④若不存在
分布式数据库的【13】透明性是最高级别的透明性,它使得在编写程序时用户只需要对全局关系进行操作,这样简化了应用程序的维护。
数组xx[N]保存着一组4位无符号整数,其元素的个数通过变量num传入函数fun()。请补充函数fun(),该函数的功能是:从数组xx中找出个位和百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数fun()返回。例如:当xx[8]=
随机试题
根据我国宪法,社会主义的公共财产神圣不可侵犯。国家保护社会主义的公共财产。禁止任何组织或者个人用任何手段()国家和集体的财产
在当代,我国法的渊源的特点。
将以下化合物按等电点的大小排列成序:()。
A.《黄帝内经》B.宋国宾《医业伦理学》C.孙思邈《备急千金要方》D.希波克拉底《希波克拉底誓言》E.帕茨瓦尔《医学伦理学》奠定中国医学人道传统的文献是
出口押汇
生物多样性是生态系统稳定性的基本保障,这是充满生命的地球的基本特征,也是人类赖以生存的无价之宝。但是,人类活动正在以惊人的速度减少生物多样性。20世纪以来,平均每天有一个物种灭绝,而进人90年代,科学家们估计每天灭绝140个物种,因而全世界有10%的高等植
每个人在成长的过程中,都会遇到各种各样的烦恼,但我们不能常常因此而难过,或者对生活感到失望。只要你能勇敢地去面对,就一定能找到解决的办法。我们应该明白,正是这些烦恼丰富了我们的人生,让我们更加珍惜眼前幸福的生活。★遇到烦恼的时候,我们应该:
Themanbehindthisnotion,JackMaple,isadandywhoaffectsdarkglasses,homburgs(翘边帽)andtwo-toeshoes;yethehasbecomes
Whodidthemanspeakwiththisafternoon?
Ifyoucouldgoonvacationasanyoneyouwanted,whowouldyouchoose?JoelStaindecidedhe’dmakeagreatRickyMartin.Welco
最新回复
(
0
)