Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU
(Тестовый режим)

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 35
от 09.02.2005, 17:00

Администратор:Калашников О.А. (adm@rusfaq.ru)
В номере:Вопросов: 1, Ответов: 2


Вопрос № 16633
Здравствуйте.
В программе создаётся класс для манипулирования массивом.
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


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Россия, Москва. Идея, дизайн, программирование: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Отписаться

В избранное