我有一个对象的继承结构,其中begin()和end()作为基类中的纯虚成员函数。从这些对象我打算构建一个复合结构。这个内部对象有std :: vector成员,begin()和end()从中获取数据。但是在叶子类中没有向量。现在我尝试在叶子类中找到begin()和end()的返回值。什么是一个好方法呢?
最简单的方法是在叶子类中有一个矢量成员,其中没有元素来为begin()和end()提供燃料,但这感觉不对。
答案 0 :(得分:1)
您可以在叶类中实现一个非常简单的迭代器类,它只返回虚拟迭代器。例如。 begin()返回与end()返回的迭代器相同的迭代器。您还需要实现一些比较功能。我不太确定std :: iterator如何处理这个问题,但也许你需要一些东西。