c++ - 访问私有(private)类 C++ 内部的结构

标签 c++ class struct

我迷失在试图弄清楚如何访问该类私有(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/

相关文章:

c++ - 如何在 C/C++ 中以编程方式读取 linux 文件权限

c++ - OpenCV 中的 recoverPose() 函数是左撇子吗?

python - 如何使类返回整数实例

c - 初始化结构数组

C++如何从这个字符串中获取值

c++ - 这是什么类型的类模板定义?

c# - 类似实体的类

java - 我如何更改它以使用我的电视类(class)?

c - 检索函数中的指针

c++ - 3D 顶点类或结构