欢迎C++同学前来帮忙!
欢迎大师前来帮助!
#include <iostream>
using namespace std;
class String
{
public:
String(){ p = NULL; }
String(char *str);
friend bool operator >(String &string1, String &string2);
friend bool operator <(String &string1, String &string2);
friend bool operator ==(String &string1, String &string2);
void display();
private:
char *p;
};
String::String(char *str)
{
p = str;
}
void String::display()
{
cout << p;
}
bool operator >(String &string1, String &string2)
{
if (strcmp(string1.p, string2.p) > 0)
return true;
else
return false;
}
bool operator <(String &string1, String &string2)
{
if (strcmp(string1.p, string2.p) < 0)
return true;
else
return false;
}
bool operator ==(String &string1, String &string2)
{
if (strcmp(string1.p, string2.p) == 1)
return true;
else
return false;
}
void compare(String &string1, String &string2)
{
if (operator >(string1, string2) == 1)
{
string1.display(); cout << ">"; string2.display();
}
else
if (operator <(string1, string2) == 1)
{
string1.display(); cout << "<"; string2.display();
}
else
if (operator ==(string1, string2) == 1)
{
string1.display(); cout << "="; string2.display();
}
cout << endl;
}
int main()
{
String string1("Hello"), string2("Book"), string3("Computer"), string4("Hello");
compare(string1, string2);
compare(string2, string3);
compare(string1, string4);
return 0;
}
这是一个简单地C++程序,我想问一下
friend bool operator >(String &string1, String &string2);
friend bool operator <(String &string1, String &string2);
friend bool operator ==(String &string1, String &string2);
void display();
里面的String &string1, String &string2
是什么意思?为什么要这样?