试图通过类b函数之一访问类a成员,出了什么问题

Trying to access class a members through one of class b functions, what went wrong?

本文关键字:成员 访问 什么 问题 函数      更新时间:2023-10-16

append()函数中,我试图通过类Arraylist访问类User成员,其中我有一个User类型的数组,有什么帮助我如何访问它们吗?

class User 
{
    string username;
    string password;
    void login();
    void logout();
    void signup();
    void search();
};
class ArrayList
{
public:
    User* root;
    User* elems;
    int capacity;
    int elemsCnt;
    void expand();
    ArrayList();
    ~ArrayList();
    void append(string, string);
};
void ArrayList::append(string name, string pass)
{
    if (capacity == elemsCnt)
        expand();
    elems[elemsCnt++].username = name;
    elems[elemsCnt++].password = pass;
} 

默认情况下,类成员是私有的。你需要公开它们才能从外部访问它们:

class User 
{
public: // Add this!
    string username;
    string password;
    void login();
    void logout();
    void signup();
    void search();
};