Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

full sharp / 18Перегрузка операторов

.pptx
Скачиваний:
10
Добавлен:
08.03.2015
Размер:
41.77 Кб
Скачать

Перегрузка

операторов

Оператор — это член, который определяет значение применения конкретного оператора выражения к экземплярам класса.

Поддерживается определение операторов трех видов: унарные операторы, двоичные операторы и операторы преобразования.

Все операторы должны объявляться с использованием модификаторов public и static.

Перегрузка операторов позволяет переопределить операторы С# для применения их к типам, определенным пользователем.

“syntactic sugar”

К унарным операторам, допускающим перегрузку, относятся:

+ - ! ~ ++ -- true false

К бинарным операторам, допускающим перегрузку, относятся:

+ - * / % & | ^ << >> == != > < >= <=

невозможна перегрузка операторов доступа к членам, вызова методов или операторов =, &&, ||, ??, ?:,

=>, checked, unchecked, new,typeof, default, as и is.

public static ComplexNumber operator+(ComplexNumber a, ComplexNumber b)

// перегрузка оператора +

Все методы, представляющие перегружаемые операторы, должны быть определены

как public и static.

Формально возвращаемое значение может быть любого типа. Однако общая практика — возвращать тип, для которого определяется метод (кроме операторов

true и false — они должны всегда возвращать булево значение).

Число передаваемых аргументов (объект!, объект!) зависит от типа перегружаемого оператора. Для унарных (т. е. с одним операндом) операторов должен указываться один аргумент. Для перегрузки оператора передаются два аргумента.

В случае унарных операторов аргумент этого метода должен быть того же типа, что и включенный в него класс или структура

Соседние файлы в папке full sharp