友元函数 学生类为什么能运行但是结果错误??
#include<iostream.h>#include<string.h>
class Stu
{
char name[10];
int deg;
public:
Stu(char na[],int d)
{
strcpy(name,na);
deg=d;
}
char *getname(){ return name;}
friend int compare(Stu &s1,Stu &s2)
{
if(s1.deg>s2.deg)
return 1;
else if(s1.deg==s2.deg)
return 0;
else return -1;
}
};
void main()
{
Stu St[]={Stu("zhang",78),Stu("wang",80),Stu("zhao",92),Stu("li",65),Stu("chen",50)};
int i,min=0,max=0;
for(i=1;i<5;i++)
{
if(compare(St[max],St[i])==-1)
max=i;
else if(compare(St[i],St[min])==1)
min=i;
}
cout<<"输出结果:"<<endl;
cout<<" 最高分:"<<St[max].getname()<<endl;
cout<<" 最低分:"<<St[min].getname()<<endl;
}