Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 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);
}

Оглавление книги


Генерация: 1.660. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз