![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Почему
Выводит разные строки:
Так и должно быть? А почему? Почему во втором случае ch обрабатывается как signed int, а не как символ? ps. гнус 3.3.5 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
потому, что operator<< для cout и char реализован только одним способом, судя по результатам - в виде обычной функции
а метода такого нету, поэтому, когда пишут operator<<(cout,c) все происходит так, как и задумано - вызывается статическая функция, а когда cout.operator<<©, статическая функция не может быть вызвана, т.к. программист ясно сказал "хочу метод", вот и ищется среди методов подходящий, находят для signed int... -------------------- qqq |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Ага. Понятно. Точно так и есть. Спасибо, разобрался
зы. ох уж эти преобразования типов... -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |