1
我目前正在嘗試爲我的方形列表contatiner的.begin()上的++運算符重載。Overloading Operators
我在我的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容器中?
謝謝!
有什麼問題? – 2012-02-19 20:17:59
@LuchianGrigore我如何讓我的++運算符只是在迭代器本身上工作,而不是將它放到我的方形列表對象中 – user1219627 2012-02-19 20:19:17
爲什麼你的'operator ++'帶兩個'sq_list'參數(隱式'this'和'lhs' )?根據我的理解,你想爲你的迭代器重載'operator ++'(你沒有用那個代碼做btw)。因爲'iterator'是一個爲什麼你需要重載操作符的指針?指針已經有一個'操作員++' – Grizzly 2012-02-19 20:20:29