170 похожих чатов

(Не спрашивайте про условие, не я его придумал) Есть классы:

хлеб, масло, бутер. Нужно переопределить оператор сложения, чтоб при сложении хлеба с маслом получался бутерброд и масса хлеба с маслом складывалась и присваивалась свойству масса в классе бутерброда.
Я переопределяю его в классе Сендвича, но возникает ошибка(фото). Что не так?
// хлеб
class Bread
{
public int Weight { get; set; } // масса
}

// масло
class Butter
{
public int Weight { get; set; } // масса
}

// бутерброд
class Sandwich
{
public static Sandwich operator +(Bread bread, Butter butter)
{
return new Sandwich() { Weight = bread.Weight + butter.Weight };
}
public int Weight { get; set; } // масса
}
class Program
{
static void Main(string[] args)
{
Bread bread = new Bread { Weight = 80 };
Butter butter = new Butter { Weight = 20 };
Sandwich sandwich = bread + butter;
Console.WriteLine(sandwich.Weight); // 100
}
}

5 ответов

21 просмотр
Intergetn- Автор вопроса

Да, тогда это сработает, но мне просто интересно почему нельзя разместить это в Сендвиче, с точки зрения архитектуры это выглядело бы логичнее, мне кажется

Intergetn
Да, тогда это сработает, но мне просто интересно п...

A binary operator has two input parameters. In each case, at least one parameter must have type T or T? where T is the type that contains the operator declaration.

Intergetn
Да, тогда это сработает, но мне просто интересно п...

Это ты прикинь складываешь два инта а получаешь стринг Потому что ты переопределил его в классе стринг Получается какой жс😅 2+2="22"

Intergetn
Да, тогда это сработает, но мне просто интересно п...

В сэндвич можно переопределять минус :D

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта