欢迎来到天天文库
浏览记录
ID:35342273
大小:84.21 KB
页数:5页
时间:2019-03-23
《实验七字符串类的构建实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验七字符串类的构建(一)12电本张平建3121004152【实验类型】综合性实验【实验课时】2学时【实验目的】本实验目的是通过构建字符串类使学生掌握:(1)C++中类的组成与定义;(2)对象的定义与对象成员的访问;(3)掌握构造函数与析构函数的定义与使用;(4)构造函数的重载;【实验提要】设计一个字符串类,取名为String,并完成以下工作:(1)定义数据成员;提示:只需定义一个字符指针成员。(2)定义带默认参数的构造函数(同时完成字符指针类型向类类型的转换);(3)定义拷贝构造函数;(4)定义析构函数;(5)定义字符串
2、拷贝函数——StrCpy;(6)定义字符串输出函数ToString(7)定义主调函数,并测试上面的函数。注:可以根据具体的思路,添加适当的成员函数。如果成员函数实现了一个对外的行为,则需要定义为公有成员,否则则要定义为私有成员。【实验要求】(1)必须做好实验预习,并书面完成实验提要中的要求。实验时对预习完成的书面内容进行验证。(2)不使用C/C++库函数,如果使用库函数完成,实验成绩按90%计算。(3)注意命名规范,命名不规范的,实验成绩酌情减分。(4)要正确地定义每一个函数的原型。就是要注意函数的参数须定义几个,每个参数
3、的类型是什么,函数的返回值是什么。(5)主调函数中要对类的每一个公有函数成员进行访问,并输岀有提示的正确的结果。(6)不要把所有的函数都定义为内联函数。(7)对每一个函数的定义,要注意边界条件,并进行合适的处理。【实验过程提示】①启动"VisualStudioC++6.0"程序。②选择“文件”I“新建”,打开“新建”对话框,选择新建“C++SourceFile”。请选择一个安排此程序的文件夹,并且给新创建的文件输入文件名。③在空白的编辑窗体内进行类的设计。④设计中间或完成时,可以选择菜单“组建”
4、“编译”,对程序进行语法检
5、查。建议在类定义完成时,对类进行编译,然后才定义成员函数的内容和主调函数。⑤编译无错,并已定义了主调函数,则可以选择菜单“组建”
6、“执行”执行程序。⑥可以选择菜单“组建”
7、“开始调试”的子菜单对程序进行调试。【实验程序】#incIude#incIudecIassString{pubIic:StringO{s二newchar[1];s二' ';}String(char*str){s二newchar[strlen(strl+l];if(s)strcpy(s,str);)String
8、(constString&sO){s二newchar[strlen(sO.s)+1];if(s)strcpy(s,sO.s);}StringO{deIete[]s;)voidToString(){cout«n输出的字符串为:}String&StrCpy(char*s1){deIete[]s;s二newchar[strIen(s1)+1];中strcpy(s,s1);return*this;}String&StrCat(String&s1){char*p;p二newchar[strIen(s)+1];//定义构造函数//定义
9、带一个参数的构造函数〃定义拷贝构造函数//定义析构函数//定义字符串输出函数«s«endI;//定义字符串拷贝函数//释放空间,便于拷贝//将字符串s1写入新的s空间//定义字符串链接函数//将字符串S拷贝到新的P中strcpy(p,s);//释放s的内存deIete[]ss二newchar[strIen(s1.s)+strlen(s)+1];//创建一个新的字符串strcpy(s,p);strcat(s,s1.s);return*this;//将该字符串拷贝s//将新来的字符串放在原字符串的末尾//返回该字符串}cout
10、«sO.s«">"«s1.s«endI;eIseif(strcmp(sO.s,s1.s)<0)cout«sO.s«n
11、SO.StrCmp(S1,S2)SO.StrCmp(S1,S3)SO.StrCmp(S1,S4)return0;//输出zhang//输出zhangihang//输出ihang二ihang//输岀ihang
此文档下载收益归作者所有