Практикум (продолжение практикума 13)

  1. В класс Point добавить:
    • Индексатор, позволяющий по индексу 0 обращаться к полю x, по индексу 1 - к полю y, при других значениях индекса выдается сообщение об ошибке.
    • Перегрузку:
      • операции ++ (--): одновременно увеличивает (уменьшает) значение полей х и у на 1;
      • констант true и false: обращение к экземпляру класса дает значение true, если значение полей x и у совпадает, иначе false;
      • операции бинарный +: одновременно добавляет к полям х и у значение скаляра;
      • преобразования типа Point в string (и наоборот).
  2. В класс Triangle добавить:
    • Индексатор, позволяющий по индексу 0 обращаться к полю a, по индексу 1 - к полю b, по индексу 2 - к полю c, при других значениях индекса выдается сообщение об ошибке.
    • Перегрузку:
      • операции ++ (--): одновременно увеличивает (уменьшает) значение полей a, b и c на 1;
      • констант true и false: обращение к экземпляру класса дает значение true, если треугольник с заданными длинами сторон существует, иначе false;
      • операции *: одновременно домножает поля a, b и c на скаляр;
      • преобразования типа Triangle в string (и наоборот).
  3. В класс Rectangle добавить:
    • Индексатор, позволяющий по индексу 0 обращаться к полю a, по индексу 1 - к полю b, при других значениях индекса выдается сообщение об ошибке.
    • Перегрузку:
      • операции ++ (--): одновременно увеличивает (уменьшает) значение полей a и b;
      • констант true и false: обращение к экземпляру класса дает значение true, если прямоугольник с заданными длинами сторон является квадратом, иначе false;
      • операции *: одновременно домножает поля a и b на скаляр;
      • преобразования типа Rectangle в string (и наоборот).
  4. В класс Money добавить:
    • Индексатор, позволяющий по индексу 0 обращаться к полю first, по индексу 1 - к полю second, при других значениях индекса выдается сообщение об ошибке.
    • Перегрузку:
      • операции ++ (--): одновременно увеличивает (уменьшает) значение полей first и second;
      • операции !: возвращает значение true, если поле second не нулевое, иначе false;
      • операции бинарный +: добавляет к значению поля second значение скаляра;
      • преобразования типа Money в string (и наоборот).
  5. Добавить в класс для работы с одномерным массивом целых чисел:
    • Индексатор, позволяющий по индексу обращаться к соответствующему элементу массива.
    • Перегрузку:
      • операции ++ (--): одновременно увеличивает (уменьшает) значение всех элементов массива на 1;
      • операции !: возвращает значение true, если элементы массива не упорядочены по возрастанию, иначе false;
      • операции бинарный *: домножить все элементы массива на скаляр;
      • преобразования класса массив в одномерный массив (и наоборот).
  6. Добавить в класс для работы с двумерным массивом целых чисел:
    • Двумерный индексатор, позволяющий обращаться к соответствующему элементу массива.
    • Перегрузку:
      • операции ++ (--): одновременно увеличивает (уменьшает) значение всех элементов массива на 1;
      • констант true и false: обращение к экземпляру класса дает значение true, если двумерный массив является квадратным;
      • операции бинарный +: позволяющей сложить два массива соответсвующих размерностей;
      • преобразования класса массив в двумерный массив (и наоборот).
  7. Добавить в класс для работы с двумерным массивом вещественых чисел:
    • Двумерный индексатор, позволяющий обращаться к соответствующему элементу массива.
    • Перегрузку:
      • операции ++ (--): одновременно увеличивает (уменьшает) значение всех элементов массива на 1;
      • констант true и false: обращение к экземпляру класса дает значение true, если каждая строка массива упорядоченна по возрастанию, иначе false.
      • операции *: позволяющей умножить два массива соответствующих размерностей.
      • преобразования класса массив в ступенчатый массив (и наоборот).
  8. Добавить в класс для работы сo строками:
    • Индексатор, позволяющий по индексу обращаться к соответствующему символу строки.
    • Перегрузку:
      • операции унарного + (-): преобразующей строку к строчным (прописным) символам;
      • констант true и false: обращение к экземпляру класса дает значение true, если строка не пустая, иначе false.
      • операции &: возвращает значение true, если строковые поля двух объектов посимвольно равны (без учета регистра), иначе false;
      • преобразования класса-строка в тип string (и наоборот).
  9. Добавить в класс для работы с регулярными выражениями:
    • Индексатор, позволяющий по индексу 0 обращаться к полю r, по индексу 1 - к полю text, при других значениях индекса выдается сообщение об ошибке.
    • Перегрузку:
      • операции унарного -: удаляет из поля text все фрагменты, соответсвующие регулярному выражению поля r.
      • констант true и false: обращение к экземпляру класса дает значение true, если поле text не пустое, иначе false;
      • операции бинарного +: дописывает в конец поля text строку.
      • преобразования класса Regex в тип string (и наоборот).
  10. Добавить в класс для работы с датой:
    • Индексатор, позволяющий определить дату i-того по счету дня относительно установленной даты (при отрицательных значениях индекса отсчет ведется в обратном порядке).
    • Перегрузку:
      • операции !: возвращает значение true, если установленная дата не является последним днем месяца, иначе false;
      • констант true и false: обращение к экземпляру класса дает значение true, если установленная дата является началом года, иначе false;
      • операции &: возвращает значение true, если поля двух объектов равны, иначе false;
      • преобразования класса DataTime в тип string (и наоборот).

 








Дата добавления: 2017-03-29; просмотров: 514;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.