没有容器时作为迭代器返回什么?

时间:2011-02-03 23:24:27

标签: c++ inheritance iterator

我有一个对象的继承结构,其中begin()和end()作为基类中的纯虚成员函数。从这些对象我打算构建一个复合结构。这个内部对象有std :: vector成员,begin()和end()从中获取数据。但是在叶子类中没有向量。现在我尝试在叶子类中找到begin()和end()的返回值。什么是一个好方法呢?

最简单的方法是在叶子类中有一个矢量成员,其中没有元素来为begin()和end()提供燃料,但这感觉不对。

1 个答案:

答案 0 :(得分:1)

您可以在叶类中实现一个非常简单的迭代器类,它只返回虚拟迭代器。例如。 begin()返回与end()返回的迭代器相同的迭代器。您还需要实现一些比较功能。我不太确定std :: iterator如何处理这个问题,但也许你需要一些东西。