运算符重载的问题--急!在线等
#include <iostream.h>
struct record
{
char NAME[20] ;
int operator <(char* pchar);
};
int record::operator <(char* pchar)
{
if (pchar == NULL)
return 1;
for (int i=0; i<20; i++)
{
if(NAME[i] == *pchar)
pchar++;
else if(NAME[i] < *pchar)
return 1;
else return 0;
}
return 0;
}
void main()
{
record a;
cin>>a.NAME;
cout<<a.NAME<<endl;
char b[20] = "abcdefghi";
cout<<b<<endl;
if(a.NAME<b)
{
cout<<"success"<<endl;
}
else
cout<<"fail!"<<endl;
}
<号返回的值是怎样的?怎么只会返回0?