Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перезагрузка операторов 
:(
    Опции темы
Real
Дата 10.3.2008, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 507
Регистрация: 9.11.2007

Репутация: 1
Всего: -1



Чем отличаеться перегрузка бинарных операторов, чем перезагрузка унарных операторов?

Это сообщение отредактировал(а) Real - 10.3.2008, 19:32
PM   Вверх
kemiisto
Дата 10.3.2008, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 4
Всего: 160



Ну во первых, перегрузка, а не перезагрузка.

Перегрузка бинарных операторов отличается от таковой для унарных тем, что в последнем случае существует только один операнд:
Код

//Перезагрузка бинарного оператора -
public static MyClass operator - (MyClass operand1, MyClass operand2)
{
//...
}
 
Код

//Перезагрузка унарного оператора -
public static MyClass operator - (MyClass operand)
{
//...
}
   


--------------------
PM MAIL WWW GTalk Jabber   Вверх
eskaflone
  Дата 10.3.2008, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 5.11.2005

Репутация: нет
Всего: 3



Давай для начала договоримся что операторы мы перезагружать не будем, мы будем перегружать операции.

По существу перегрузка бинарных от унарных отличается тем что бинарные операции имеют 2 операнда, а унарные лишь 1, как не банально звучит.

например так:
Код

class MyCustom
{
    private int значение = 0;
    public int Значение
    {
        get {return значение;}
        set {значение = value;}
    }

    public static MyCustom operator - (MyCustom lhs, MyCustom rhs)
    {
        MyCustom MyCustom1 = new MyCustom();

        MyCustom1.Значение = lhs.Значение - rhs.Значение;
        return MyCustom1;
    }

    public static int operator - (MyCustom lhs, MyCustom rhs)
    {
        return lhs.Значение - rhs.Значение;
    }

    public static MyCustom operator - (MyCustom rhs)
    {
        MyCustom MyCustom1 = new MyCustom();

        MyCustom1.Значение = -rhs.Значение;
        return MyCustom1;
    }
}


Писал прямо в окне ответа, так что может в чём то ошибся.

Добавлено через 2 минуты и 45 секунд
оффтоп::

где то я уже это видел)))
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0405 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.