|
Как не дублировать перегрузку оператора
|
|||
---|---|---|---|
#18+
Есть 2 класса: class a<T>, и его наследник class a_int:a<int> к примеру. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Есть ли способ как-то описать перегрузку оператора в базовом классе, так, чтобы в наследнике можно было это использовать, не перегружая в нём этот же оператор заново? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2016, 23:53 |
|
Как не дублировать перегрузку оператора
|
|||
---|---|---|---|
#18+
можете объяснить case, зачем Вам понадобилось перегружать оператор? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2016, 23:55 |
|
Как не дублировать перегрузку оператора
|
|||
---|---|---|---|
#18+
Саша_unЕсть ли способ как-то описать перегрузку оператора в базовом классе, так, чтобы в наследнике можно было это использовать, не перегружая в нём этот же оператор заново? смотрите спеку языка. за Вас чтоли её смотреть ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2016, 23:58 |
|
Как не дублировать перегрузку оператора
|
|||
---|---|---|---|
#18+
Иммануил Бонд Аренкоможете объяснить case, зачем Вам понадобилось перегружать оператор? Большой нужды в этом нет (скорее, просто любопытство). Но раз есть такая возможность в языке, мне приятнее, когда написано вот так: a_int m = 20; чем когда вот так: a_int m = new a_int {Value = 20}; особенно если этих присвоений много. Просто получается странно - если я создал свойство или метод в базовом классе, в наследнике я могу их использовать, ничего дополнительно при этом не делая. А вот если перегрузил оператор, то такой принцип уже не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 15:35 |
|
Как не дублировать перегрузку оператора
|
|||
---|---|---|---|
#18+
Саша_un, проблема в том, что a_int и a<int> это 2 разных типа (один является наследником от другого) оператор определён в базовом типе, следовательно и возвращать он может только базовый тип как думаешь такой код сработает? Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 13:13 |
|
|
start [/forum/topic.php?fid=20&gotonew=1&tid=1400425]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 164ms |
0 / 0 |