пЕРЕГРУЗКА оПЕРАТОРА
class CVector
{
private:
int* vect;
int size;
public:
void Add(int i);
void RemoveAll(void);
int GetSize(void);
int operator[](int k);
void InsertAt(int position, int element);
void SetAt(int position, int value);
CVector(void);
~CVector(void);
};
массив хранится в int* vect. Осталось реализовать оператор, позволяющий делать
CVector v;
//заполняем v
....
v[k]+=x;
т.е. оператор, позволяющий делать присваивание конкретному элементу массива. Как реализовать такую фичу?
спасибо всем заранее.
Class T::operator += (int)
za sintaksis ne otvechaju, msdn bilo zapuskatj uzhe lenivo.
Ispolzuj kluchevoe slovo
Class T::operator += (int)
za sintaksis ne otvechaju, msdn bilo zapuskatj uzhe lenivo.
так в том-то и фишка, что если я просто оператор += перегружу, то он будет перегружен для всего массива, а не для конкртеного члена массива, как мне в этом операторе передать индекс элемента k??
так в том-то и фишка, что если я просто оператор += перегружу, то он будет перегружен для всего массива, а не для конкртеного члена массива, как мне в этом операторе передать индекс элемента k??
Намекну:
int[COLOR=red]&[/COLOR] operator[](int k);
:)
А чем не подошел std::vector или др. стандартные контейнеры ?
так в том-то и фишка, что если я просто оператор += перегружу, то он будет перегружен для всего массива, а не для конкртеного члена массива, как мне в этом операторе передать индекс элемента k??
На самом деле перегружать += не нужно. Можно использовать v[k]+=x - при условии, что оператор [] перегружен как int& operator[](int k). Тогда его можно ставить и слева и справа от любого оператора присваивания (поскольку он будет возвращать ссылку на элемент массива).
Намекну:
int[COLOR=red]&[/COLOR] operator[](int k);
:)
А чем не подошел std::vector или др. стандартные контейнеры ?
блин, пора на пенсию.... отправил бы тока кто... если возвращаемый тип определен как ссылка, то тогда ведь данная операция определена и как левосторонняя, и как правостороняя....
стандартные контейнеры... не знаю, не пользовался никогда STL, т.к. все что надо было или сам писал или в MFC находил. сейчас вот пытаюсь от MFC отойти... смотрю на wtl, чтобы разобраться как он работает решил пару программ переписать на WinAPI, чтобы вспомнить все то, что в MFC не видно со всеми его перегружаемыми обработчиками.