【发布时间】:2012-12-03 14:08:18
【问题描述】:
编辑:
我选择重新编写我的整个问题,并逐步使其更加完善。
所以我想在 std::list 中存储类型(如下所示的 ObjectA 和 ObjectB),而这些类型又必须具有返回预期类型的成员属性(如本例中的 int const*):
class ObjectA
{
public:
int const* GetItem () {return mpItem;} const;
private:
int* mpItem;
ObjectC mrObjectC;
}; // class
class ObjectB
{
public:
int const* GetItem () {return &mrItem;} const;
private:
int mrItem;
ObjectD mrObjectD;
}; // class
所以现在上面的两个对象需要在 std::list 中,如下所示:
ObjectA nrA;
ObjectB nrB;
std::list<### const*> nrRender;
nrRender.push_back (nrA); // comes down to storing ObjectA and ObjectB
nrRender.push_back (nrB); // inside the same list
这一切都完成了。子例程迭代 std::list 并发送数据以进行进一步处理,如下所示:
std::list<### const*> nrRender::const_iterator niObject;
for (niObject = nrRender.begin(); niObject != nrRender.end(); ++niObject) {
this -> Display ((*niObject).GetItem ());
}
最后我也想这样做:
nrRender.remove(nrA);
nrRender.remove(nrB);
标签: c++