学生管理系统中的二级指针问题,为什么执行会报错,怎样解决呀?

问题遇到的现象和发生背景

学生信息管理系统

问题相关代码,请勿粘贴截图

class Stumanager { //创建管理类
public:
int mnum;//记录文件中的学生个数
Student** marry;//学生数组的指针
Stumanager();
~Stumanager();
int getnum();//统计人数
void Stu();
bool FISE;//文件是否为空
void Show_Menu();//打印菜单
void Exit();//退出系统
void input();//录入函数
//void showinf();//浏览函数
void save();//保存文件
//void Delete();//删除学生
};
class Student { //创建学生类
public:
Student(int num, string na, string s, int china, int english, int math, int physics, int c) {
number = num; name = na; sex = s; China = china; English = english; Math = math; Physics = physics; C = c;
}
int number;//学号
string name;//姓名
string sex;//性别
int China;//语文
int English;//英语
int Math;//数学
int Physics;//物理
int C;//C语言
};

运行结果及报错内容

marry不是Stumanager 的成员

我的解答思路和尝试过的方法
我想要达到的结果

Student类的声明在Stumanager类的声明后面,在Stumanager类中使用Student的时候,找不到Student这个类。
需要在Stumanager类的前面加一句:
class Student;
如下:

class Student;  //注意加这一句

class Stumanager { //创建管理类
public:
    int mnum;//记录文件中的学生个数
    Student** marry;//学生数组的指针
    Stumanager();
    ~Stumanager();
    int getnum();//统计人数
    void Stu();
    bool FISE;//文件是否为空
    void Show_Menu();//打印菜单
    void Exit();//退出系统
    void input();//录入函数
    //void showinf();//浏览函数
    void save();//保存文件
    //void Delete();//删除学生
};

class Student { //创建学生类
public:
    Student(int num, string na, string s, int china, int english, int math, int physics, int c) {
        number = num; name = na; sex = s; China = china; English = english; Math = math; Physics = physics; C = c;
    }
    int number;//学号
    string name;//姓名
    string sex;//性别
    int China;//语文
    int English;//英语
    int Math;//数学
    int Physics;//物理
    int C;//C语言
};

题外话,为什么要用二级指针呢,一般来说一级指针就够用了啊。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632