Здесь я пытаюсь понять пару вещей:
Как реализовать итераторы для класса, как показано ниже?
#include
#include <вектор>
используя пространство имен std;
шаблон
class Node {
общественность:
Узел (int i = 0): val (i) {}
Узел * & оператор ++ (int i = 0) {return next;};
T val;
Узел * следующий;
};
// ================================================
int main () {
Узел * head, * tmp1, * tmp2;
tmp1 = новый узел (0);
head = tmp1;
for (int i = 1; i <10; ++ i) {
tmp2 = новый узел (i);
tmp1-> next = tmp2;
tmp1 = tmp2;
}
while (head! = NULL) {
cout << head-> val << "'";
голова = голова-> оператор ++ (0); // Как заставить его работать с ++ head ;?
}
}
Это не лучший пример для демонстрации перегрузки операторов или итераторов.