如何将对象数组添加到另一个类

How can I add an array of objects to another class

本文关键字:另一个 添加 数组 对象      更新时间:2023-10-16

我是C 编程中的新手。我正在尝试在另一个类中创建一个类的对象。当我尝试运行这个问题时,我会遇到错误。其中一个是unknown override specifier。有人可以告诉我如何解决这个问题?

class Teacher
{
    Student t[10];
public:
    void setMark()
    {
        t[2].mark = 80;
    }
};
class Student
{
public:
    int mark;
};
int main()
{
    return 0;
}

在解析Teacher的定义时,符号Student是未知的。编译器不知道其名称类型。我的编译器(GCC)引发了一个错误:

main.cpp:3:5: error: ‘Student’ does not name a type
     Student t[10];
     ^

我没有看到任何"未知的覆盖说明符"。这可能与您正在使用的不同编译器或您没有向我们展示的其他问题有关。

解决方案?首先定义Student,因为它不依赖于Teacher

您在班级教师中使用学生对象,甚至在打电话之前就没有被声明。如果您想在后者中使用前者,则必须在老师面前宣布学生班。

只需交换两个类的顺序即可。编译器不知道什么是学生,因为当编译器到达行 Student t[10];

时,没有声明。

顺便说一句,您可能需要使用vector<Student>而不是数组。

您需要先声明学生课程或在代码之上添加原型

class Student
{
public:
    int mark;
};
class Teacher
{
    Student t[10];
public:
    void setMark()
    {
        t[2].mark = 80;
    }
};
int main() {
    return 0;
}
相关文章: