C++ | 静态数据成员与静态成员函数
公有静态数据成员的访问:
类名::静态数据成员名
对象名.静态数据成员名
对象指针 -> 静态数据成员名
公有静态成员函数的访问:
类名::静态成员函数(实参表)
对象名.静态成员函数(实参表)
对象指针 -> 静态成员函数(实参表)
应用举例:
1 #include<iostream> 2 using namespace std; 3 4 class Student 5 { 6 public: 7 Student() {} 8 Student(double score):score_(score) { //设置成绩 9 total_score_ += score; 10 total_numbers_++; 11 } 12 static double Sum() { //返回成绩总和 13 return total_score_; 14 } 15 static double Average() { //求平均成绩 16 return total_score_ / total_numbers_; 17 } 18 private: 19 double score_; //成绩 20 static double total_score_; //总成绩 21 static double total_numbers_; //学生人数 22 }; 23 24 double Student::total_score_ = 0; 25 double Student::total_numbers_ = 0; 26 27 int main() 28 { 29 30 int n; //学生总数 31 cin >> n; //键盘输入学生总数 32 //根据输入的学生人数创建学生数组 33 while (n--) { 34 Student(rand() % 100); 35 } 36 37 //可以从键盘输入学生成绩,也可以随机生成。 38 cout << "总分:" << Student::Sum() << endl; 39 cout << "平均分:" << Student::Average() << endl; 40 system("pause"); 41 }