好的,所以我现在有两个(完全没有关联的不同项目)类正在使用迭代器。其中一个具有iterator
和reverse_iterator
按预期工作,而另一个当前具有iterator
和半破损的const_iterator
(具体而言,因为const_iterator派生自iterator,所以代码LinkedList<int>::iterator i = const_list.begin()
是有效的,并允许您修改常量定义的列表...)。
我打算将这四种类型都添加到这个类中...如果我能的话。
如何最小化复制/粘贴代码并仅更改返回类型?创建一个名为base_iterator
的基类进行继承?创建一个iterator
或const_iterator
并从中继承?从某些std ::类继承?如果这些情况中的任何一种是“最佳”方法,那么哪些代码放在哪里?
也许没有任何替代方案是好的?我很迷茫,在找不到太多参考资料。
任何建议都将不胜感激,但请记住我对该主题(迭代器和C ++总体上尤其是OOP)还不熟悉。我曾经试图研究GCC附带的头文件,但徒劳无功,它们不完全是我要找的教程。