本人自学C,现在自学C++,里面有个静态成员函数没弄明白
书上的例题:程序代码:
#include<iostream> using namespace std; class Student { public: Sudent(int n,int a,float s):num(n),age(a),score(s){} void total(); static float average(); private: int num; int age; float score; static float sum; static float count; }; void Student::total() { sum+=score; count++; } float Student::average() {return(sum/count);} float Student::sum=0; float Student::count=0; int main() {Student stud[3]={ Student(1001,18,70), Student(1002,19,78), Student(1005,20,98) }; int n; cout<<"please input the number of students:"<<endl; cin>>n; for(int i=0;i<n;i++) stud[i].total(); cout<<"the average score of"<<n<<"students is"<<Student::average()<<endl; return 0; }这里有几个问题:
average函数如果定义为非静态成员函数行不行?
程序能否通过编译?
需要作什么修改?
为什么要用静态成员函数?
高手来啊!!