编辑:
我选择重写我的整个问题,并一步一步地让它变得更详细。
因此,我想将类型存储在 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);