我正在尝试使用运算符重载的字符串比较我正在使用>操作员,我没有得到正确的输出,你能告诉我我在这里做的错误是我的代码
#include<iostream.h>
#include<stdio.h>
#include<string.h>
#include<conio.h>
class strclass
{
public:
char s1[20];
void getdata()
{
cin>>s1;
}
void showdata()
{
cout<<s1;
}
int operator>(strclass obj)
{
int temp,temp1;
temp=strlen(s1);
temp1=strlen(obj.s1);
if(temp>temp1)
{
return 1;
}
else
return 0;
}
};
void main()
{
clrscr();
strclass obj1,obj2;
int temp3;
if(obj1>obj2)
{
cout<<"string 1 is greater";
}
else
{
cout<<"string 2 is greater";
}
cout<<"enter string 1"<<endl;
obj1.getdata();
// obj1.showdata();
cout<<"enter string 2"<<endl;
obj2.getdata();
// obj2.showdata();
getch();
}
我正在使用基本的库函数。谢谢!
答案 0 :(得分:0)
bool operator<(strclass s1, strclass s2)
形式的封装,而不是成员函数