Операторы перегрузки - PullRequest
       13

Операторы перегрузки

1 голос
/ 20 февраля 2012

В настоящее время я пытаюсь перегрузить оператор ++ в .begin () для моего прямоугольного списка.

В моем файле hpp есть следующее:

template <typename T_>
    class sq_list 
    {

    public:
        typedef T_* iterator;

        iterator _itr;
        square_list( iterator n ) : _itr(n) { }


    sq_list operator ++ (sq_list<int> lhs) {    
        return  lhs++;
        }
    };

В настоящее время для этого требуется поместить итератор в квадратный объект списка.Что мне нужно сделать, это вызвать метод ++, когда файл .cpp выполняет ++ name.begin ();вместо того, чтобы помещать это значение в мой контейнер, а затем увеличивать этот контейнер.Как заставить мою перегруженную функцию работать только с ++ name.begin (), чтобы увеличить мой итератор вместо того, чтобы помещать его в мой контейнер sq_list?

Спасибо!

1 Ответ

0 голосов
/ 20 февраля 2012

В общем, вам нужно определить оператор на итераторе.Здесь ваш итератор является указателем на базовый тип элемента, поэтому ++ уже работает над этим.Вы пытались вызвать ++ просто на итераторе, без реализации operator++ вообще?

...