Шаг 118.
Язык программирования C#. Начала
Перегрузка операторов. Примеры использования

    На этом шаге мы рассмотрим несколько примеров решения задач, в которых используется перегрузка операторов.

    Здесь мы рассмотрим несколько программ, в которых используются ранее рассмотренные способы перегрезки операторов.

    Задание 1. Напишите программу, в которой есть класс с целочисленным полем и текстовым полем. Выполните перегрузку всех операторов сравнения. Сравнение на предмет "больше" или "меньше" выполняется на основе сравнения длины текстовых значений (имеются в виду текстовые поля сравниваемых объектов). При сравнении на предмет "больше или равно" или "меньше или равно" сравниваются значения целочисленных полей объектов. При сравнении на предмет "равно" или "не равно" сравниваются и целочисленные, и текстовые поля объектов. Также предложите способ переопределения методов Equals() и GetHashCode().

Раскрыть/скрыть решение и комментарии.

Задание 2. Напишите программу, в которой есть класс с целочисленным полем. Перегрузите операторы &, |, true и false так, чтобы с объектами класса можно было использовать операторы && и ||. Перегрузку следует реализовать так, чтобы объект считался "истинным", если значение его числового поля равно 2, 3, 5 или 7. Объект должен рассматриваться как "ложный", если значение его числового поля меньше 1 или больше 10.

Раскрыть/скрыть решение и комментарии.

Задание 3. Напишите программу, и которой есть класс с текстовым полем. Опишите в классе операторные методы для выполнения приведения типов. Необходимо определить следующие способы преобразований. При преобразовании объекта в целое число результатом возвращается количество символов в значении текстового поля. При преобразовании объекта в символ результатом является первый символ в тексте. При преобразовании числа в объект создается (и возвращается результатом соответствующего операторного метода) объект, текстовое поле которого содержит текстовую строку из символов 'А'. Количество символов в тексте определяется преобразуемым числом.

Раскрыть/скрыть решение и комментарии.

    Со следующего шага мы начнем рассматривать свойства и индексаторы.




Предыдущий шаг Содержание Следующий шаг