如何创建一个类变量数组

How to make a class variable array

本文关键字:一个 类变量 数组 创建 何创建      更新时间:2023-10-16

如何创建一个grade class变量数组?我不明白如何初始化和在main()中写什么。从这里,有没有办法得到一个常数?我需要一个for循环来读取和输出数组吗?由于

class First
{
  public:
    int getId();
    void setId(int);
    int getExam();
    void setExam(int);
    void print();
    First(int studentId, int exam);
  private:
    int id;
    int grade;
};
int main()
{
  int studentId = 0;
  int exam = 0;
  First Student(studentId, exam);
  cout << "Enter student id" << endl;
  cin >> studentId;
  Student.setId(studentId);
  cout << "enter grade" << endl;
  cin >> exam;
  Student.setExam(exam);
  Student.print();
  return 0;
}

如果您在编译时知道数组的大小,则可以这样创建数组:

First student_list[size];

虽然使用std::array<T, N>这样的编译时类更理想:

#include <array>
std::array<int, size> student_list;

如果你不知道编译时的大小,或者你的编译器不支持std::array,使用std::vector<T>:

#include <vector>
std::vector<int> student_list;

此外,参数化构造函数(First(int, int))覆盖了编译器通常提供的默认构造函数和复制构造函数。默认构造函数如下所示:

First() { }

否则,您可以在c++ 11中使用default说明符:

First() = default;

但是,通过为专门化构造函数使用默认形参,它可以在给定0个实参时充当默认构造函数。下面是一个很好的选择:

First(int studentid = 0, int exam = 0)
{ }

最后,是的,您需要某种循环来连续打印每个元素的等级