| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > cout.operator << (c) против operator << (cout, c) |
| Автор: Mayk 4.11.2005, 15:26 | ||||
Почему
Выводит разные строки:
Так и должно быть? А почему? Почему во втором случае ch обрабатывается как signed int, а не как символ? ps. гнус 3.3.5 |
| Автор: maxim1000 4.11.2005, 15:29 |
| потому, что operator<< для cout и char реализован только одним способом, судя по результатам - в виде обычной функции а метода такого нету, поэтому, когда пишут operator<<(cout,c) все происходит так, как и задумано - вызывается статическая функция, а когда cout.operator<<©, статическая функция не может быть вызвана, т.к. программист ясно сказал "хочу метод", вот и ищется среди методов подходящий, находят для signed int... |
| Автор: Mayk 4.11.2005, 15:43 |
| Ага. Понятно. Точно так и есть. Спасибо, разобрался зы. ох уж эти преобразования типов... |