字符串类String重载操作.docx
《字符串类String重载操作.docx》由会员分享,可在线阅读,更多相关《字符串类String重载操作.docx(3页珍藏版)》请在冰点文库上搜索。
43.定义一个字符串类String,用来存放不定长的字符串,重载运算符“==”,,用于两个字符串的等于比较运算。
初值自拟。
44.定义一个字符串类String,用来存放不定长的字符串,重载运算符"<",用于两个字符串的小于的比较运算。
初值自拟。
45.定义一个字符串类String,用来存放不定长的字符串,重载运算符">",用于两个字符串的大于的比较运算。
初值自拟。
#include
#include
usingstd:
:
string;
classString
{
private:
char*p;
public:
String()
{
p=NULL;
}
String(char*pp)
{
p=pp;
}
friendbooloperator==(String&a,String&b);
friendbooloperator>(String&a,String&b);
friendbooloperator<(String&a,String&b);
voiddisplay()
{
std:
:
cout<
}
};
booloperator==(String&a,String&b)
{
if(strcmp(a.p,b.p)==0)
{
returntrue;
}
else
{
returnfalse;
}
}
booloperator>(String&a,String&b)
{
if(strcmp(a.p,b.p)>0)
{
returntrue;
}
else
{
returnfalse;
}
}
booloperator<(String&a,String&b)
{
if(strcmp(a.p,b.p)<0)
{
returntrue;
}
else
{
returnfalse;
}
}
voidcompare(Stringa,Stringb)
{
if(operator>(a,b))
{
a.display();
std:
:
cout<<">";
b.display();
}
elseif(operator<(a,b))
{
a.display();
std:
:
cout<<"<";
b.display();
}
else
{
a.display();
std:
:
cout<<"==";
b.display();
}
}
voidmain()
{
Stringstring("abc");
Stringstring1("abcs");
compare(string,string1);
system("pause");
}