Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
24.06.2010, 11:18
|
|||
|---|---|---|---|
Перегрузка операторов |
|||
|
#18+
Такой вопрос из области теории В c++ можно перегружать операторы 2 способами : в виде функций членов или в виде дружественных глобальных функций . Некоторые из операторов можно перегружать лишь в виде функций членов - например оператор =. Кто-нибудь знает , чем вызвано это требование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.06.2010, 13:16
|
|||
|---|---|---|---|
Перегрузка операторов |
|||
|
#18+
alexey_sz, потому что если ты не создаешь оператор =, то за тебя его делает компилятор, именно как член класса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.06.2010, 15:16
|
|||
|---|---|---|---|
Перегрузка операторов |
|||
|
#18+
blinded, Насчет оператора = согласен - но в стандарте вроде есть еще операторы , которые нельзя перегружать как глобальные дружественные функции - которые не создаются компилятором по умолчанию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.06.2010, 15:27
|
|||
|---|---|---|---|
Перегрузка операторов |
|||
|
#18+
alexey_szно в стандарте вроде есть еще операторы , которые нельзя перегружать как глобальные дружественные функцииnew и delete во всех своих ипостасях ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.06.2010, 17:54
|
|||
|---|---|---|---|
Перегрузка операторов |
|||
|
#18+
alexey_szНекоторые из операторов можно перегружать лишь в виде функций членов - например оператор =. Кто-нибудь знает , чем вызвано это требование. Это требование вызвано стандартом языка С++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.06.2010, 17:57
|
|||
|---|---|---|---|
Перегрузка операторов |
|||
|
#18+
new и delete тоже есть стандартные и переопределённые. Поэтому компилятор должен при компиляции каждого модуля знать, определены ли new и delete для данного класса, чтобы его вызывать. Это никак не может быть достигнуто без определения new и delete в классе, поскольку модель сборки -- раздельная компиляция модулей и последующая линковка. Собственно, в этом причина и всех остальных требований. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2010, 18:08
|
|||
|---|---|---|---|
Перегрузка операторов |
|||
|
#18+
MasterZivnew и delete тоже есть стандартные и переопределённые. Поэтому компилятор должен при компиляции каждого модуля знать, определены ли new и delete для данного класса, чтобы его вызывать. Это никак не может быть достигнуто без определения new и delete в классе, поскольку модель сборки -- раздельная компиляция модулей и последующая линковка. Собственно, в этом причина и всех остальных требований. Единица компиляции - это больше, чем класс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2010, 18:08
|
|||
|---|---|---|---|
Перегрузка операторов |
|||
|
#18+
MasterZivalexey_szНекоторые из операторов можно перегружать лишь в виде функций членов - например оператор =. Кто-нибудь знает , чем вызвано это требование. Это требование вызвано стандартом языка С++. Вопрос-то в том, чем вызвано такое требование в стандарте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.09.2010, 11:50
|
|||
|---|---|---|---|
Перегрузка операторов |
|||
|
#18+
mriadus wrote: > Вопрос-то в том, чем вызвано такое требование в стандарте. Можно было бы почитать в "Дизайн и эволюция С++" почему именно так было сделано. Но я думаю, что так более логично, потому как по семантике операций = == < > и т.д. один аргумент (this) обязателен, поэтому и сделали в С++ это функциями-членами. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.10.2012, 15:07
|
|||
|---|---|---|---|
Перегрузка операторов |
|||
|
#18+
Код: plaintext 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. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. а почему свой перегруженный оператор ostream& operator<< (ostream& os, const WN& s ); я могу вызывать в такой форме Код: plaintext 1. а какой нибудь ostream& operator<< (ostream& os, int i ); нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.10.2012, 15:17
|
|||
|---|---|---|---|
|
|||
Перегрузка операторов |
|||
|
#18+
tchingizа почему свой перегруженный оператор ostream& operator<< (ostream& os, const WN& s ); я могу вызывать в такой форме Код: plaintext 1. а какой нибудь ostream& operator<< (ostream& os, int i ); нет?А если так? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.10.2012, 15:20
|
|||
|---|---|---|---|
Перегрузка операторов |
|||
|
#18+
аааааа ихнее живет в классе, а мое в классе ессно не живет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.10.2012, 15:21
|
|||
|---|---|---|---|
Перегрузка операторов |
|||
|
#18+
*в классе ostream ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2020720]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
172ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 279ms |

| 0 / 0 |
