Объектно-ориентированное программирование на языке С++. Ноткин А.М. - 52 стр.

UptoLike

Составители: 

53
4. Для удобства реализации операций-функций реализовать в классе
private(protected)-функции, работающие непосредственно с реализацией
класса. Например, для класса множество это могут быть следующие
функции:
включить элемент в множество;
найти элемент и возвратить его индекс;
удалить элемент;
определить, принадлежит ли элемент множеству.
Указанные функции используются в реализации
общедоступных
функций-операций (operator).
Содержание отчета.
1. Титульный лист.
2. Конкретное задание с указанием номера варианта, реализуемого
класса и операций.
3. Определение класса.
4. Обоснование включения в класс нескольких конструкторов, дест-
руктора и операции присваивания.
5. Объяснить выбранное представление памяти для объектов реали-
зуемого класса.
6. Реализация перегруженных операций с обоснованием выбранного
способа (функция член класса, внешняя функция,
внешняя дружествен-
ная функция).
7. Тестовые данные и результаты тестирования.
Вопросы для самоконтроля.
1. Что такое абстрактный тип данных?
2. Приведите примеры абстрактных типов данных.
3. Каковы синтаксис/семантикаоперации-функции”?
4. Как можно вызвать операцию-функцию?
5. Нужно ли перегружать операцию присваивания относительно оп-
ределенного пользователем типа данных, например класса? Почему?
6. Можно ли изменить приоритет перегруженной операции?
7. Можно ли изменить количество операндов перегруженной опера
-
ции?
8. Можно ли изменить ассоциативность перегруженной операции?
9. Можно ли, используя дружественную функцию, перегрузить опе-
ратор присваивания?
10. Все ли операторы языка С++ могут быть перегружены?
                                  53

      4. Для удобства реализации операций-функций реализовать в классе
private(protected)-функции, работающие непосредственно с реализацией
класса. Например, для класса множество это могут быть следующие
функции:
      − включить элемент в множество;
      − найти элемент и возвратить его индекс;
      − удалить элемент;
      − определить, принадлежит ли элемент множеству.
      Указанные функции используются в реализации общедоступных
функций-операций (operator).

      Содержание отчета.
      1. Титульный лист.
      2. Конкретное задание с указанием номера варианта, реализуемого
класса и операций.
      3. Определение класса.
      4. Обоснование включения в класс нескольких конструкторов, дест-
руктора и операции присваивания.
      5. Объяснить выбранное представление памяти для объектов реали-
зуемого класса.
      6. Реализация перегруженных операций с обоснованием выбранного
способа (функция − член класса, внешняя функция, внешняя дружествен-
ная функция).
      7. Тестовые данные и результаты тестирования.

      Вопросы для самоконтроля.
      1. Что такое абстрактный тип данных?
      2. Приведите примеры абстрактных типов данных.
      3. Каковы синтаксис/семантика “операции-функции”?
      4. Как можно вызвать операцию-функцию?
      5. Нужно ли перегружать операцию присваивания относительно оп-
ределенного пользователем типа данных, например класса? Почему?
      6. Можно ли изменить приоритет перегруженной операции?
      7. Можно ли изменить количество операндов перегруженной опера-
ции?
      8. Можно ли изменить ассоциативность перегруженной операции?
      9. Можно ли, используя дружественную функцию, перегрузить опе-
ратор присваивания?
      10. Все ли операторы языка С++ могут быть перегружены?