实验七字符串类的构建实验报告.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验七 字符串类的构建(一) 12电本 张平建 3121004152 【实验类型】综合性实验 【实验课时】2学时 【实验目的】 本实验目的是通过构建字符串类使学生掌握: C++中类的组成与定义; 对象的定义与对象成员的访问; 掌握构造函数与析构函数的定义与使用; 构造函数的重载; 【实验提要】 设计一个字符串类,取名为String,并完成以下工作: 定义数据成员; 提示:只需定义一个字符指针成员。 定义带默认参数的构造函数(同时完成字符指针类型向类类型的转换); 定义拷贝构造函数; 定义析构函数; 定义字符串拷贝函数——StrCpy; 定义字符串输出函数 ToStr ing 定义主调函数,并测试上面的函数。 注:可以根据具体的思路,添加适当的成员函数。如果成员函数实现了一个对外的行为, 则需要定义为公有成员,否则则要定义为私有成员。 【实验要求】 必须做好实验预习,并书面完成实验提要中的要求。实验时对预习完成的书面内容 进行验证。 不使用C/C++库函数,如果使用库函数完成,实验成绩按90%计算。 注意命名规范,命名不规范的,实验成绩酌情减分。 要正确地定义每一个函数的原型。就是要注意函数的参数须定义几个,每个参数的 类型是什么,函数的返回值是什么。 主调函数中要对类的每一个公有函数成员进行访问,并输岀有提示的正确的结果。 不要把所有的函数都定义为内联函数。 对每一个函数的定义,要注意边界条件,并进行合适的处理。 【实验过程提示】 启动Visual Studio C++ 6.0程序。 选择“文件” I “新建”,打开“新建”对话框,选择新建“C++ Source File”。请 选择一个安排此程序的文件夹,并且给新创建的文件输入文件名。 在空白的编辑窗体内进行类的设计。 设计中间或完成时,可以选择菜单“组建” | “编译”,对程序进行语法检查。建议 在类定义完成时,对类进行编译,然后才定义成员函数的内容和主调函数。 编译无错,并已定义了主调函数,则可以选择菜单“组建” | “执行”执行程序。 可以选择菜单“组建” | “开始调试”的子菜单对程序进行调试。 【实验程序】 # i ncIude i ostream? h #i ncIudestr i ng.h cI ass Str i ng { pub I ic: StringO { s二new char [1]; s二\0; } Str ing(char *str) { s二new char [strlen(strl+l]; if (s) strcpy (s, str); ) Str i ng (const Str i ng sO) { s二new char [strlen(sO. s)+1]; if (s) strcpy (s, sO. s); } StringO { de I ete [] s; ) vo i d ToStr i ng () { cout?n输出的字符串为: } Str i ng StrCpy (char *s1) { de I ete[] s; s二new char [str Ien(s1)+1]; 中 strcpy (s,s1); return *th i s; } Str i ng StrCat (Str i ng s1) { char *p; p二new char [str Ien (s)+1]; //定义构造函数// //定义构造函数 //定义带一个参数的构造函数 〃定义拷贝构造函数 //定义析构函数 //定义字符串输出函数 ?s?end I ; //定义字符串拷贝函数 //释放空间,便于拷贝 //将字符串s1写入新的s空间 //定义字符串链接函数 //将字符串S拷贝到新的P中 //释放s的内存de I ete [] s s //释放s的内存 strcpy (s, p); strcat (s, s1. s); return *this;//将该字符串拷贝s strcpy (s, p); strcat (s, s1. s); return *this; //将新来的字符串放在原字符串的末尾 //返回该字符串 } cout?sO. s??s1. s?end I ; e I se i f (strcmp (sO. s, s1. s) 0)cout?sO. s?nu?s1. s?endl ; e I secout?sO. s?,,=,,?s1. s?endl ;pr ivate: char *sStr i ng SO (i hang);SO. ToStr i ng (); cout?sO. s??s1. s?end I ; e I se i f (strcmp (sO. s, s1. s) 0) cout?sO. s?nu?s1. s?endl ; e

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档