C:访问班级的私人成员

我仍然不知所措,因为我是新手,但我正在尝试扩展一些现有的代码,我希望我能使用std :: vector.

标题中声明了以下内容(为简单起见,缩写):

class WindowManager
{
     private:
        std::vector<Item*>     m_itemlist;
}

我的问题是我打算如何从.cpp访问它?我想用它来拥有一个Item类型的数组,但我不明白如何实际到达我可以向数组添加一个新实例化的Item,比方说按钮?

有点基本的问题,但我没有太多运气覆盖std :: vector的教程.

最佳答案
如果可能,请避免使用指向Item的向量.直接使用Item的矢量.

class WindowManager
{
    void addItem(Item const& item) { m_itemlist.push_back(item); }

private:
    std::vector<Item> m_itemlist;
};

int main()
{
    WindowManager wm;
    Item i;
    wm.addItem(i);
}

转载注明原文:C:访问班级的私人成员 - 代码日志