友元函数
C++考试正在进行。请设计一个学生类student,学号、本次考试成绩是其私有数据成员,同时有一个计算本次考试平均成绩的友元函数 double average(student *p,int count)
以上类名和友元函数的形式,均须按照题目要求,不得修改。
输入是 学号([00001,99999])和成绩,以0结束。(不超过100个学生)
输出是平均成绩。
输入样例:
10001 90
10002 93
0
输出样例:
91.5
1 #include <bits/stdc++.h> 2 using namespace std; 3 4 class student{ 5 int num; 6 double sorce; 7 public: 8 student() 9 { 10 num=0;sorce=0; 11 }; 12 void set(int a,double b) 13 { 14 num=a; 15 sorce=b; 16 } 17 friend double average(const student *p,int count); 18 }; 19 20 double average(const student *p,int count) 21 { 22 double ans; 23 double sum=0; 24 for(int i=0;i<count;i++) 25 sum+=p[i].sorce; 26 ans=sum/count; 27 return ans; 28 } 29 30 int main() 31 { 32 student St[105]; 33 int num; 34 int i=0; 35 double d,ans; 36 while(scanf("%d",&num)==1&&num) 37 { 38 cin>>d; 39 St[i++].set(num,d); 40 } 41 ans=average(St,i); 42 cout<<ans; 43 return 0; 44 }
友元函数理解转自:https://blog.csdn.net/qq_41079666/article/details/82184804
浙公网安备 33010602011771号