Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Обычник Ученик (105), открыт 2 дня назад
Почему не перегружается оператор '/' ?

namespace Base
{
class YourClass1
{
public int _number = 1;
public static int operator /(YourClass1 obj, int a)
{
return obj._number;
}
}
class Program
{
static void Main()
{
YourClass1 myclass = new YourClass1();

int res = myclass._number / 2;
}
}
}
2 ответа
Алексей Мыслитель (6421) 2 дня назад
Перезагружается. Только ты перегрузку не используешь, вместо этого зачем-то лезешь к переменной внутри класса, которую даже не закрыл акцессорами.

Перегруженные операторы применяются к экземпляру класса.
ОбычникУченик (105) 2 дня назад
понял, спасибо. А как он понимает когда нужно выбирать поле с целочисленным типом, а когда со строковым, если у меня было бы 2 поля?
ОбычникУченик (105) 2 дня назад
ааа понял, сорян, туплю
Jurijus Zaksas Искусственный Интеллект (458536) 2 дня назад
Оператор относится к классу, а не к полю класса.
 int res = myclass / 2;  
Похожие вопросы