zoukankan      html  css  js  c++  java
  • 学生类(静态数据成员和静态成员函数,即数据的共享)

    【问题描述】
    定义一个类Student,要求使用静态数据成员或静态成员函数计算全班学生的《计算机导论》课程的总成绩和平均成绩。请同学们自行设计该类。

    【提示】
    静态数据成员:static int total; 表示所有同学成绩总分
    静态成员函数:static void Average(int sum){} 计算sum个学生的平均成绩,主函数在调用的时候采用Student::Average(n)的形式。

    【输入形式】
    学生姓名 课程成绩

    【输出形式】
    总成绩和平均成绩

    【样例输入】
    Zhang 82
    Li 79
    Wang 93
    Liu 66
    Xia 90

    【样例输出】
    410
    82

    #include <iostream>
    #include <string.h>
    #include <stdio.h>
    using namespace std;
    
    class Student
    {
    private:
        char * name;
        int grade;
    public:
        Student(const char * n, int g);//构造函数
        ~Student();//析构函数
        static void Average(int sum);//静态成员函数
        static int total;//静态数据成员
    };
    
    int Student::total = 0;//静态数据成员要在类外初始化,而且不能加static
    
    Student::Student(const char * n, int g)//构造函数
    {
        int len = strlen(n);
        name = new char[len+1];
        strcpy(name,n);
        grade = g;
        total += grade;
    }
    
    Student::~Student()//析构函数
    {
        delete [] name;
    }
    
    void Student::Average(int sum)//静态成员函数,同样不能写static
    {
        cout << total/sum << endl;
    }
    
    int main()
    {
        char name[10];//不要用char * name;不仅无法初始化,而且程序下面运行会出错
        int grade = 0, Count = 0;//计人数
        while(cin >> name >> grade)//当输入数据类型和变量类型不匹配就出错,返回假值;输入ctrl+Z也可以结束输入。
        {
            Student x(name,grade);
            Count++;
        }
        cout << Student::total << endl;
        Student::Average(Count);
        return 0;
    }
    
    
  • 相关阅读:
    Codeforces Round #700 (Div. 2)
    2020-2021 ACM-ICPC Brazil Subregional Programming Contest
    Codeforces Round #699 (Div. 2)
    2021牛客寒假算法基础集训营3
    2021牛客寒假算法基础集训营1
    Educational Codeforces Round 103 (Rated for Div. 2)
    Codeforces Round #697 (Div. 3)
    Codeforces Round #696 (Div. 2)
    2017 ECNA Regional Contest
    spring的aop详解
  • 原文地址:https://www.cnblogs.com/yuzilan/p/10626148.html
Copyright © 2011-2022 走看看