目前对该问题暂时毫无一点反应,请教各位

设计一个类:要求对类进行分开(源文件和头文件分开)
学生类:
成绩:语文、数学、英语。要求用数组
学号:要求用真实学号
姓名:要求用中文,String
功能:当用const函数要用到
1、要求构造函数
2、改变学号、成绩、姓名功能函数
3、 求平均成绩
4打印学习成绩(学号、姓名、各科成绩、 平均成绩)

这是.h

#ifndef __STU_H__
#define __STU_H__

#include<iostream>
#include<cstring>
class Stu 
{
    private:
        std::string name;
        int id;
        int type;
        float sorce[3];

    public:
        Stu(std::string n,int i,float math,float eng,float yv)
        {
            name = n;
            id = i;
            sorce[0] = math;
            sorce[1] = eng;
            sorce[2] = yv;
        };
        void change();
        float pj();
        void print_s(float sum);
};

#endif

这是.cpp

#include<iostream>
#include<cstring>
#include<stu.h>
using namespace std;

void Stu::change()
{
    cout << "请输入修改的学号,成绩,姓名:" << endl;
    cin >> id >> sorce[0] >> sorce[1] >> sorce[2] >> name;
}

float Stu::pj()
{
    float pjsorce = 0;
    pjsorce = (sorce[0] + sorce[1] + sorce[2]) / 3;
    return pjsorce;
}

void Stu::print_s(float sum)
{
    
    cout << "学号:" << id << endl;
    cout << "姓名:" << name << endl;
    cout << "各科成绩(数学,英语,语文):" << sorce[0] << " " << sorce[1] << " " << sorce[2] << endl;
    cout << "平均成绩:" << sum << endl;
}

int main()
{
    Stu s1("A", 1, 86, 56, 70);
    float sum = s1.pj();
    s1.print_s(sum);

    s1.change();
    float sum2 = s1.pj();
    s1.print_s(sum2);
    

    return 0;
}

img


头文件

#pragma once
#include <string>

enum CourseType {
    CHINESE = 0,
    MATH,
    ENGLISH,

    COUNT,
};

class Student
{
public:
    Student(void);
    Student(std::string name, std::string num);
    ~Student() {}

    void setName(const std::string& name);
    void setNum(const std::string& num);
    void setScore(CourseType type, int score);

    std::string getName(void) const;
    std::string getNum(void) const;
    int getScore(CourseType type) const;
    float getAverage(void) const;

private:
    std::string name_;
    std::string num_;
    int score_[COUNT] = { 0 };
};

cpp
#include "Student.h"

Student::Student(void)
{
}

Student::Student(std::string name, std::string num)
    : name_(name)
    , num_(num)
{
}

void Student::setName(const std::string& name)
{
    name_ = name;
}

void Student::setNum(const std::string& num)
{
    num_ = num;
}

void Student::setScore(CourseType type, int score)
{
    score_[type] = score;
}

std::string Student::getName(void) const
{
    return name_;
}

std::string Student::getNum(void) const
{
    return num_;
}

int Student::getScore(CourseType type) const
{
    return score_[type];
}

float Student::getAverage(void) const
{
    int sum = 0;
    for (int i=0; i<COUNT; ++i)
    {
        sum += score_[i];
    }
    return (float)sum / COUNT;
}