Как перегрузить оператор во встроенном классе? - PullRequest
2 голосов
/ 28 февраля 2011

Кто-то упомянул, что имеет смысл перегружать +, например, Цветовая структура. Но как я могу это сделать? Я думал, что это должно быть внутри типа.

Ответы [ 3 ]

5 голосов
/ 28 февраля 2011

Это правильно;нет способа добавить перегрузку операторов к существующему типу * (нет операторов расширения).

0 голосов
/ 28 февраля 2011

Операторы включают 2 операнда, и у вас есть возможность поместить перегрузку оператора в каждый из двух задействованных типов.

Другими словами, вы можете написать свой собственный тип и добавить операторы, которые его делают.взаимодействовать с Color, но если вы хотите, чтобы Color и int взаимодействовали с новыми операторами, то извините, нет, вы не можете этого сделать.

0 голосов
/ 28 февраля 2011

Я бы не стал этим заниматься - вероятно, было бы чище создать метод расширения Add (Color c1, Color c2)

...