类与对象实验:定义一个描述学生(Student)基本情况的类,数据成员包括姓名(name)、学号(num)、数学成绩(mathScore)、英语成绩(englishScore)、人数(count)……

文章描述了一个C++程序,定义了一个名为Student的类,用于表示学生的基本信息,如姓名、学号、数学和英语成绩。类中包含静态数据成员来记录学生总数、数学总成绩和英语总成绩。构造函数用于初始化学生对象,同时更新静态数据成员。ShowBase函数显示单个学生的信息,而ShowStatic函数显示整体统计信息。在主函数中创建了多个学生对象并展示了他们的信息及统计结果。
摘要由CSDN通过智能技术生成

        定义一个描述学生(Student)基本情况的类,数据成员包括姓名(name)、学号(num)、数学成绩(mathScore)、英语成绩(englishScore)、人数(count)、数学总成绩(mathTotalScore)和英语总成绩(englishTotalScore)。其中数学总成绩、英语总成绩和人数为静态数据成员(考虑为什么它们三个要定义成静态数据成员),成员函数包括构造函数、显示基本数据函数(ShowBase)和显示静态数据函数(ShowStatic),其中构造函数由已知参数姓名(nm)、学号(nu)、数学成绩(math)和英语成绩(english)构造对象,显示基本数据函数用于显示学生的姓名、学号、数学成绩、英语成绩,显示静态数据函数为静态成员函数,用于显示人数,数学总成绩,英语总成绩;要求所有数据成员为private访问权限,所有成员函数为public访问权限,在主函数中定义若干个学生对象,分别显示学生基本信息,以及显示学生人数,数学总成绩与英语总成绩。

#include <iostream>
#include <string>
using namespace std;

class Student
{
private:
    string name;
    int num;
    int mathScore;
    int englishScore;
    static int count;
    static int mathTotalScore;
    static int englishTotalScore;
public:
    Student(string,int,int,int);
    void ShowBase (){
        cout<<"姓名:"<<name<<endl;
        cout<<"学号:"<<num<<endl;
        cout<<"数学成绩:"<<mathScore<<endl;
        cout<<"英语成绩:"<<englishScore<<endl;
    }
    void ShowStatic(){
        cout<<"人数:"<<count<<endl;
        cout<<"数学总成绩:"<<mathTotalScore<<endl;
        cout<<"英语总成绩:"<<englishTotalScore<<endl;
    }
};

Student::Student(string nm,int nu,int math,int english):num(nu),mathScore(math),englishScore(english)
{
    name=nm;
    count++;
    mathTotalScore+=mathScore;
    englishTotalScore+=englishScore;
}
int Student::count=0;
int Student::englishTotalScore=0;
int Student::mathTotalScore=0;

int main()
{   
    cout<<"-------------------------------"<<endl;
    Student Bob("Bob",54563,90,100);
    Bob.ShowBase();
    cout<<"-------------------------------"<<endl;
    Student Frank("Frank",52363,80,120);
    Frank.ShowBase();
    cout<<"-------------------------------"<<endl;
    Student Alex("Alex",54503,130,80);
    Alex.ShowBase();
    cout<<"-------------------------------"<<endl;
    Student Jack("Jack",54343,100,100);
    Jack.ShowBase();
    cout<<"-------------------------------"<<endl;
    Jack.ShowStatic();
    return 0;
}


-------------------------------
姓名:Bob
学号:54563
数学成绩:90
英语成绩:100
-------------------------------
姓名:Frank
学号:52363
数学成绩:80
英语成绩:120
-------------------------------
姓名:Alex
学号:54503
数学成绩:130
英语成绩:80
-------------------------------
姓名:Jack
学号:54343
数学成绩:100
英语成绩:100
-------------------------------
人数:4
数学总成绩:400
英语总成绩:400

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值