【发布时间】:2015-12-11 16:35:14
【问题描述】:
由于我是 C++ 新手,我仍然对它有所了解,但我正在尝试扩展一些现有的代码,希望我能够使用 std::vector。
在标题中声明了以下内容(为简单起见缩短了):
class WindowManager
{
private:
std::vector<Item*> m_itemlist;
}
我的问题是如何从 .cpp 访问它?我想用它来拥有一个Item 类型的数组,但我不明白如何真正达到可以将新实例化的Item,比如说button 添加到数组的地步?
有点初级的问题,但我对涵盖 std::vector 的教程不太满意。
【问题讨论】:
-
请详细说明您遇到了什么困难。
-
您的
WindowManager类需要与向量交互的函数。它就像任何其他私有成员变量一样。 -
所以问题首先不是关于
vector,而是关于“如何更改私有数据成员”? -
我认为你把问题简单化了。正如所写,
WindowManagerclass完全没用,因为它的m_itemlist成员不可访问。它只能从成员函数访问,因为它是private,但没有声明成员函数。 -
旁注:您为什么使用
std::vector<Item*>而不是std::vector<Item>?只要确保你没有做任何不必要的事情——通常不需要指针向量。