C++运算符重载 错误在哪里啊
#include<iostream>#include<string>usingnamespacestd;classString{public:String(){p=NUL...
#include<iostream>
#include<string>
using namespace std;
class String
{
public:
String(){p=NULL;}
String(char*str);
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;
}
void compare(String&string1,String&string2)
{
if(operator > (string1,string2)==1)
{
string1.display();
cout<<">";
string2.display();
}
}
int main()
{
String string1("hello"),string2("book");
compare(string1,string2);
return 0; 展开
#include<string>
using namespace std;
class String
{
public:
String(){p=NULL;}
String(char*str);
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;
}
void compare(String&string1,String&string2)
{
if(operator > (string1,string2)==1)
{
string1.display();
cout<<">";
string2.display();
}
}
int main()
{
String string1("hello"),string2("book");
compare(string1,string2);
return 0; 展开
3个回答
展开全部
#include<iostream>
#include<string>
using namespace std;
class String
{
public:
String(){p=NULL;}
String(char*str);
friend bool operator>(String&string1,String&string2)//VC++6.0对友元支持的不好,应该把友元函数的定义放到类内,VS2010就没这个毛病
{
if(strcmp(string1.p,string2.p)>0)
return true;
else
return false;
}
void display();
private:
char*p;
};
String::String(char*str)
{p=str;}
void String::display()
{cout<<p;}
void compare(String&string1,String&string2)
{
if(operator > (string1,string2)==1)
{
string1.display();
cout<<">";
string2.display();
}
}
int main()
{
String string1("hello"),string2("book");
compare(string1,string2);
return 0;}//这里少了个括号
#include<string>
using namespace std;
class String
{
public:
String(){p=NULL;}
String(char*str);
friend bool operator>(String&string1,String&string2)//VC++6.0对友元支持的不好,应该把友元函数的定义放到类内,VS2010就没这个毛病
{
if(strcmp(string1.p,string2.p)>0)
return true;
else
return false;
}
void display();
private:
char*p;
};
String::String(char*str)
{p=str;}
void String::display()
{cout<<p;}
void compare(String&string1,String&string2)
{
if(operator > (string1,string2)==1)
{
string1.display();
cout<<">";
string2.display();
}
}
int main()
{
String string1("hello"),string2("book");
compare(string1,string2);
return 0;}//这里少了个括号
展开全部
if(operator > (string1,string2)==1)
改成
if( string1 > string2)
//会重载操作符 不会用。。。
改成
if( string1 > string2)
//会重载操作符 不会用。。。
追问
不行
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
调用的时候直接用 》 比较就行吧
追问
也是不可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询