Форум: Форум C++Разное
Новые темы: 00
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Объясните назначения Cout и <<
 
 автор: JIEXA   (27.01.2007 в 02:07)   письмо автору
 
 

Вот вытащил кусок куда из темы одной:

  int rub, usd;

  cout << "Input sum in rubles ";

  cin >> rub;
  usd = rub/27;

  cout << "USD " << usd << "\n";

как я понял cout это тоже самое что и print в php?
и зачем всегда ставятся знаки << ?

  Ответить  
 
 автор: Krasnodar   (27.01.2007 в 02:47)   письмо автору
 
   для: JIEXA   (27.01.2007 в 02:07)
 

Cout это оператор вывода на экран... Тоже самое что echo и print

  Ответить  
 
 автор: cheops   (27.01.2007 в 03:06)   письмо автору
 
   для: JIEXA   (27.01.2007 в 02:07)
 

На самом деле cout - это объект и изначально следовало бы писать так
char *str = "Hello world!";
cout.write(str, strlen(str));

Однако C++ обладает уникальной возможностью перегрузки операторов. Т.е. любому оператору можно назначить новый смысл. Чтобы не писать неудобную конструкцию cout.write() взяли и переопределили оператор побитового сдвига << так, чтобы он выводил правый аргумент в стандартный поток stdout, а могли бы взять любой другой оператор (например, /) и перегрузить его, тогда вывод будет выглядеть так
cout / "Hello world!";

Однако так стараются не делать и оставлять за операторами свой исконный смысл. Исключение сделано для операторов << и >> - уж больно хорошо подходят для демонстрации ввода и вывода. Вы для своего собственного класса можете тоже перегружать данные, например присваивать новые значения так
obj << "новое значение";

или перегрузить оператор + для сложения двух своих объектов
obj = obj1 + obj2;

вместо того, чтобы использовать ненаглядную конструкцию
obj = obj1.add(obj2);


PS cout - это предопределённый объект стандартной библиотеки ввода-вывода IOStram.

  Ответить  
 
 автор: Krasnodar   (27.01.2007 в 03:12)   письмо автору
 
   для: cheops   (27.01.2007 в 03:06)
 

Хм... Интересно.... Оказывается все сложнее чем я думал... Даже с, на первый взгляд простым, cout

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования