- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++课程设计
姓名:某某某
班级:计112
学号:119074067
指导教师:柯栋梁
一:定义一个string类,实现其相关功能。
1.实验要求及目的:
a.设计一个字符串类,要求满足常见字符串处理功能。
b.可参考VC++安装目录include 下的string.h 头文件中关于字符串类的定义。
c.成员函数的实现不允许使用系统提供的字符串处理功能。
d.写个测试程序测试每个成员函数。
2.实验环境:
PC机,VC++6.0。
3.实现过程:
a:首先读懂题目要求,知道自己所要实现的是什么。
b:参考VC++安装目录include 下的string.h 头文件中关于字符串类的定义,选
择几个字符串处理的基本功能,并且指导实现的原理及要求。
c:设计一个关于字符串的string类,并且定义各所属的成员函数。
d:设计实现各个成员函数,并写一个测试主函数测试每一个成员函数是否能够实
现其功能。
4.心得体会:
通过本次的实验巩固了我对字符串的一些基本功能的理解和运用,同时对于
一些原本比较模糊的概念定义有了更深的认识:如字符串的连接以及在一串字
符中查找特定的字符等等。
flag
当然,通过本次试验然我对一些小的概念如: (判断)等有了较深的了解。
对于本次的实验还有许多的不足之处如:没有按照要求的去用指针去实现,
以及没有用友元函数等等都有很多不足。
5.实验代码:
#includeiostream.h
constintN 200;
int n,flag 0;
classstring
{
private:
charstr[N];
intlen;
public:
string(char*p)
{
copy(str,p);
}
string(){};
voidcopy(char*s1,char*s2);
voidcopy(char*s);
voidstr_set()
{
cinstr;
}
voidstr_out()
{
coutstrendl;
}
voidconnect(char*s);
voidswap(char*s1,char*s2);
intlength();
int find(chars);
int compare(char*s);
};
int strlen(char*s)
{
inti 0;
while(s[i++]! \0);
returni-1;
}
voidpointout()
{
charyorn;
cout\n是否退出系统?:;
couty ,n ;
退出 不退出,继续。
cinyorn;
coutendl;
if(yorn y||yorn Y)
flag 1;
else
if(yorn n||yorn N)
{
flag 0;
cout请再次输入你所选择的功能序号\n;
}
else
{
flag 0;
cout输入有误请重新输入, endl;
}
}
int string::length()
{
inti 0;
while(str[i++]! \0);
returni-1;
}
int string::find(chars)
{
int k length();
for(inti 0;ik;i++)
if(str[i] s)
returni;
return-1;
}
voidstring::copy(char*s1,char*s2)
{
inti 0;
while(s2[i]! \0)
{
s1[i] s2[i];
i++;
}
s1[i] \0;
}
voidstring::copy(char*s)
{
inti 0;
while(str[i]! \0)
{
s[i] str[i];
i++;
}
s[i] \0;
}
voidstring::swap(char*s1,char*s2)
{
copy(str,s1);
copy(s1,s2);
copy(s2,str);
}
int string::
文档评论(0)