显示私有数组变量C ++

时间:2018-09-17 11:17:15

标签: c++

我得到一个错误:要求“考试”中的成员“模块”,这是非类“ ExamType [12]”-这是我不理解的工作分配问题。

任何帮助将不胜感激。

代码

#include <iostream>
#include <string>
using namespace std;

class ExamType
{
public:
    ExamType();
    ExamType(string m, string v, int t, string d);

private:
    string module;
    string venue;
    int time;
    string date;
};

int main()
{
    ExamType exams[12];
    for (int i = 0; i < 12; i++)
        if (exams.module[i] == "COS1512") cout << "COS1512 will be written on " << exams.date << " at " << exams.time;
    return 0;
}

1 个答案:

答案 0 :(得分:3)

这里有两个问题:

  1. moduleprivate,无法在main中访问。制作模块public或使用get方法。

  2. 以下内容将不起作用:

if (exams.module[i] == "COS1512")

应为:

if (exams[i].module == "COS1512") 

这是因为exams是类ExamType的数组,并且在类module中没有定义ExamType的数组。

类似地,在cout语句中,exams.dateexams.time也应更改为exams[i].dateexams[i].time