如何在 C++ 中从另一个 class 获取向量

how to get vector from another class in c++

我正在尝试将向量 planclass Administrator 传递到 class User,以便在最后一个 [=] 的报告方法 void report() 中使用该向量51=],但向量似乎是空的。

我会缩短代码,给你一个更容易理解的结构

文件Administrador.h

class Administrador : public User
{
    public:
        vector<string> VectorAsign();
};

文件Administrador.cpp

vector<string> Administrador::VectorAsign()
{
    vector<string> plan = {"one", "two"};
    return plan;
}

文件User.h

class User
{
    public:
        vector<string> plan;
        void Report(vector<string> plan);
};

文件User.cpp

void User::Report(vector<string> plan)
{
    this->plan= plan;
    for (int i = 0; i < plan.size(); i++)
    {
        cout << "Date of User::Report" << plan[i] << endl;
    }
}

文件main.cpp

int main(){
    vector<string> plan;

    Administrador Admin;
    Admin.VectorAsign();

    User user;
    user.Report(plan);

    return 0
}

试了很多,还是不行,有没有更好的办法把这个vector传给另一个class?谢谢

VectorAsign returns 一个向量,但您没有将它存储到变量中。

int main(){
    
    Administrador Admin;
    vector<string> plan = Admin.VectorAsign();

    User user;
    user.Report(plan);

    return 0
}