[YTU]_2641 9 填空题:静态成员---计算学生个数)
题目描述
学生类声明已经给出,在主程序中根据输入信息输出实际建立的学生对象个数,以及所有学生对象的成绩总和。
在下面的程序段基础上完成设计,只提交begin到end部分的代码
#include <iostream>
#include <string>
using namespace std;
class student
{
private:
stringname; //学生姓名
intage; //学生年龄
intscore; //学生成绩
static intcount; //记录学生对象个数
staticint sum; //记录所有学生的总成绩
public:
student(stringn,int a,int s); //构造函数
staticint get_count(); //静态成员函数,获取count的值
staticint get_sum(); //静态成员函数,获取sum的值
};
//将程序需要的成份写下来,只提交begin到end部分的代码
//******************** begin********************
int student::count=0;
_____(1)_______;
________(2)___________
{
name=n;
age=a;
score=s;
count++;
sum+=s;
}
int student::get_count()
{
______(3)_______;
}
int student::get_sum()
{
______(4)______;
}
//********************* end********************
int main( )
{
string name;
int age;
int score;
int n;
cin>>n; //输入学生对象个数
while(n--)
{
cin>>name>>age>>score;
new student(name,age,score);
}
cout<<"the count ofstudent objects=";
cout<<student::get_count()<<endl;
cout<<"the sum of allstudents score=";
cout<<student::get_sum()<<endl;
return 0;
}
输入
学生个数
对应学生个数的学生信息(姓名 年龄 成绩)
输出
学生个数
所有学生的成绩之和
样例输入
3
guo 34 98
zhang 56 60
li 23 87
样例输出
the count of student objects=3
the sum of all students score=245
提示
只提交begin到end部分的代码
#include <iostream> #include <string> using namespace std; class student { private: string name; //学生姓名 int age; //学生年龄 int score; //学生成绩 static int count; //记录学生对象个数 static int sum; //记录所有学生的总成绩 public: student(string n,int a,int s); //构造函数 static int get_count(); //静态成员函数,获取count的值 static int get_sum(); //静态成员函数,获取sum的值 }; int student::count=0; int student::sum=0; student::student(string n,int a,int s) { name=n; age=a; score=s; count++; sum+=s; } int student::get_count() { return count; } int student::get_sum() { return sum; } int main() { string name; int age; int score; int n; cin>>n; //输入学生对象个数 while(n--) { cin>>name>>age>>score; new student(name,age,score); } cout<<"the count of student objects="; cout<<student::get_count()<<endl; cout<<"the sum of all students score="; cout<<student::get_sum()<<endl; return 0; }