Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Перегрузка унарных операций
Перегрузка унарных операций
В C# также позволяется перегрузка унарных операций, таких как, например, ++ и --. При перегрузке унарной операции вы тоже должны с помощью ключевого слова operator определить статический метод, но в данном случае передается только один параметр, который должен иметь тип, соответствующий определяющему классу или структуре. Например, если добавить в Point следующие перегруженные операции
public struct Point {
…
// Добавление 1 к поступившему Point.
public static Point operator++(Point p1) { return new Point(p1.x+1, p1.y+1); }
// Вычитание 1 от поступившего Point.
public static Point operator--(Point p1) { return new Point(p1.x-1, p1.y-1); }
}
то вы получите возможность увеличивать или уменьшать на единицу значения X и Y объекта Point, как показано ниже.
static void Main(string[] args) {
…
// Применение унарных операций ++ и -- к Point.
Console.WriteLine("++ptFive = {0}", ++ptFive);
Console.WriteLine("--ptFive = {0}", --ptFive);
}
- Создание пользовательских индексаторов
- Внутреннее представление индексаторов типов
- Заключительные замечания об индексаторах
- Перегрузка операций
- Перегрузка бинарных операций
- Перегрузка унарных операций
- Перегрузка операций проверки на тождественность
- Перегрузка операций сравнения
- Внутреннее представление перегруженных операций
- Использование перегруженных операций в языках, не поддерживающих перегрузку операций
- Заключительные замечания о перегрузке операций
- Пользовательские преобразования типов
- Создание пользовательских подпрограмм преобразования
- Определение подпрограмм неявного преобразования
- Внутреннее представление пользовательских подпрограмм преобразования
- Ключевые слова C#, предназначенные для более сложных конструкций
- Директивы препроцессора C#
- Резюме
- Перегрузка операций проверки на тождественность
- Внутреннее представление перегруженных операций
- Заключительные замечания о перегрузке операций
- Перегрузка бинарных операций
- Перегрузка операций сравнения
- 3. Свойства бинарных операций
- 4. Свойства унарных операций
- Перегрузка операций
- 4. Варианты операций соединения
- Перегрузка методов с несколькими параметрами типа
- Перегрузка конструкторов
- При неудачном выполнении некоторых операций Windows динамик издает пронзительный звук. Можно ли заставить его замолчать?