Здравствуйте.
В программе создаётся класс для манипулирования массивом.
class IntArray {
public:
................................................
// операции сравнения:
bool operator== (const IntArray&) const;
................................................
}
Класс содержит массив. Задача заключается в том, чтобы осуществлять с массивами стандартные операции(+,-,*,/,==,.....).Объясните, пожалуйста, назначение опрератора const в обоих случаях и запись IntArray&(в частности назначение &). Ещё хотел узнать как пользоваться(запись использования оператора через указатель на объект) перегруженными операторами, если объект создаётся динамически.
Спасибо.
Отправлен: 04.02.2005, 16:55
Вопрос задал: Тюменцев Иван Валерьевич (статус: Читатель)
Всего ответов отправлено: 2
Отвечает: vitya
Здравствуйте, Тюменцев Иван Валерьевич!
1. const говорит о том, что объект не будет модифицирован. Как сам объект (об этом говорит const после объявления функции) так и параметр - это const перед пераметром
2. & в данном случае - это ссылка. фундаментальная вещь в C++, в C ее нет.
3. a = (*pObject)[4]; или же pObject -< operator[](4);
Ответ отправил: vitya (статус: Профессор)
Отправлен: 04.02.2005, 17:21
Отвечает: DiGiT
Здравствуйте, Тюменцев Иван Валерьевич!
Добавлю к ответу vitya!
const после указания метода, нужен для удобства читабельности кода программы и лучшего видения "деятельности" класс. На самом деле можно сделать чтобы члены класса менялись, но этого не нужно делать, если меняется какое то состояние объекта.
А вообще я видел статью где то по этому поводу, вроде на rsdn.ru, интересно почитайте.
Ответ отправил: DiGiT (статус: 6-ой класс)
Отправлен: 06.02.2005, 03:55