C++编程题,友元函数。

定义一个学生类Student,数据成员包括学号、姓名和成绩;成员函数有:构造函数,设置数据成员的值,读取数据成员的值。在主函数中定义包含n个对象的数组,再编写一个Student类的友元函数,查找成绩最高的那一项记录。
输入格式: 测试输入包含若干测试用例,每个测试用例占一行。当读入n=0时输入结束,相应的结果不要输出。
输入输出示例:括号内为说明
5 (n=5,后面是5个学生的信息,1<=n<=100)
000101 Bob 56 (学号 [0,999999])
000102 Alice 73
000103 Anna 85
000104 Sam 34
000105 Mike 90
4 (n=4,后面是4个学生的信息)
000101 Bob 20
000102 Alice 0    
000104 Sam 97
000109 Anna 85
0
输出样例:
000105 Mike 90
000104 Sam 97

Sample Input:
3
000103 Tonny 85
000107 Eric 5
000109 Sam 34
4
000111 Tom 3
000112 Jerry 4
000113 Jack 5
000117 Hale 6
0

Sample Output:
000103 Tonny 85
000117 Hale 6


#include <math.h>
class Location{
public:
    Location(double x0,double y0){};
    double Getx();
    double Gety();
    double distance(Location &);
    friend double distance(Location &,Location &);
private:
    double x,y;
};
 
double distance(Location &l1,Location &l2)
{
    return sqrt((l1.x-l2.x)*(l1.x-l2.x) + (l1.y-l2.y)*(l1.y-l2.y));
}

   

这样在后面定义就行了~

温馨提示:答案为网友推荐,仅供参考
相似回答