求各位大神带一带 真的不是很会

定义Student学生类,其中包括3个成员变量(char[40] 姓名,char[20] 学号,float 分数),两个构造方法(一个默认无参的构造方法,一个为带三个参数姓名学号分数的构造方法用于给成员变量赋值)和ShowInfo()方法。
ShowInfo方法用于显示每个学生类对象的成员变量信息。
主函数中实例化对象:刘明,张亮,调用ShowInfo显示他们信息。
显示的格式为:姓名:XXX,学号:XXXX,分数:XX 分数保留一位小数。
(提示:按类文件+实现文件+主文件格式书写代码)

题目给你说的比较清楚了,

img

代码如下:
Student.h (类文件)

#pragma once

#include <iostream>
#include <cstring>
#include <iomanip>
using namespace std;
class Student
{
private:
    char name[40];//姓名
    char id[20];  //学号
    float score;  //分数
public:
    //无参构造函数
    Student();
    
    //3参数构造函数
    Student(const char _name[], const char _id[], float s);
    
    void ShowInfo();
    
};

Student.cpp(实现文件)

#include "Student.h"

Student::Student()
{
    name[0] = 0;
    id[0] = 0;
    score = 0;
}
//3参数构造函数
Student::Student(const char _name[], const char _id[], float s)
{
    strcpy_s(name, 40,_name);
    strcpy_s(id,20, _id);
    score = s;
}
void Student::ShowInfo()
{
    cout << "姓名:" << name << ",学号:" << id << ",分数:";
    cout << fixed << setprecision(1) << score << endl; //保留1位小数
}

main.cpp(主文件)

#include "Student.h"
using namespace std;


int main()
{
    Student lm("刘明", "100001", 89.5);
    Student zl("张亮", "100002", 88);
    lm.ShowInfo();
    zl.ShowInfo();
}

哪部分不会啊?参考一下:

#include <iostream>
using namespace std;
#include<iomanip>
#include <string.h>
class Student
{
private:
    char name[40];
    char id[20];
    float score;
public:
    Student() {}
    Student(char n[40],char d[20],float s)
    {
        strcpy_s(name,40,n);
        strcpy_s(id,20,d);
        score = s;
    }
    void ShowInfo()
    {
        cout<<"姓名:"<<name<<endl;
        cout<<"学号:"<<id<<endl;
        cout<<"成绩:"<<setiosflags(ios::fixed)<<setprecision(1)<<score<<endl;
    }
};

int main()
{
    Student s1("刘明","11223344",98);
    Student s2("张亮","11223355",85);
    s1.ShowInfo();
    s2.ShowInfo();
    return 0;
}