操作员过载

Overloading Operators

本文关键字:操作员      更新时间:2023-10-16

我目前正试图为我的平方列表控件重载.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文件执行++名称.begin()时调用++方法;而不是将该值放入我的容器中,然后递增该容器。如何让重载函数只在++name.begin()上工作来增加迭代器,而不必将其放入sq_list容器中?

谢谢!

通常,您需要在迭代器上定义运算符。在这里,迭代器是指向底层元素类型的指针,所以++已经在上面工作了。您是否尝试过简单地在迭代器上调用++,而根本没有operator++实现?