我迷失在试图弄清楚如何访问该类私有(private)部分内部的结构。如果可能的话,我需要将代码保留为结构。
非常感谢您的帮助。

const int MAX_CHAR = 101;
const int NAME_COURSE_WIDTH = 20;
const int DESCRIPTION_WIDTH = 40;
const int DUE_DATE_WIDTH = 20;
const int COURSE_ENTRY_CAPACITY = 100;

class Task
{
private:
    struct CourseEntry
    {
        char course[MAX_CHAR];
        char description[MAX_CHAR];
        char dueDate[MAX_CHAR];
    } course;
public:


    void displayMenu();
    char readInCommand();
    void processCommand(char command, CourseEntry list[], int& listSize);
    void readInEntry(CourseEntry& anEntry);
    void readInCourse(char course[]);

    //database related functions
    void displayAll(const CourseEntry list[], int listsize);
    void addEntry(const CourseEntry& anEntry, CourseEntry list[], int& listSize);
    bool searchEntry(const char course[], CourseEntry& match, const CourseEntry list[], int listSize);

    void loadCourseEntry(const char fileName[], CourseEntry list[], int& listSize);
    void saveCourseEntry(const char fileName[], const CourseEntry list[], int listSize);

    //standard input tools
    int readInt(const char prompt[]);
    void readString (const char prompt[], char inputStr[], int maxChar);
};

最佳答案

您应该将结构的定义移到类之外,并且只将变量保持私有(private):

struct CourseEntry
{
    char course[MAX_CHAR];
    char description[MAX_CHAR];
    char dueDate[MAX_CHAR];
}

class Task {
    private:
       CourseEntry course;

    public:

        ...
}

关于c++ - 访问私有(private)类C++内部的结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21669187/

10-11 22:51
查看更多