本人自学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函数如果定义为非静态成员函数行不行?
程序能否通过编译?
需要作什么修改?
为什么要用静态成员函数?
高手来啊!!







