Здавалка
Главная | Обратная связь

Введение в потоки ввода-вывода



Смешение стилей комментария

В одной и той же программе одновременно могут употребляться комментарии С и С++. В листинге 1.2 приводится несколько таких примеров.

 

 

Листинг 1.2. COMMENTS.CPP (сравнение типов комментариев С и С++)

1: #include <iostream.h>

2:

3: //-------------------------- ................

4: // Автор : Том Сван

5: // Версия : v1.0

6: // Назначение : Демонстрация комментариев в С++

7; // -

8:

9: main()

10: {

11: cout « "A Brief С++ Commentary\n"; // Вывести заголовок

12: cout « "\n"; // Вывести пустую строку после заголовка
13:

14: /* Этот абзац демонстрирует, что комментарий на языке С может

15: занимать более одной строки.

16: Комментарий на С++ ограничен одной строкой. */
17:

18: cout « "// This is not a comment.\n\n"; // Это комментарий

19:"cout « "/* This also is not comment.*/ \n\n";

20: cout /* Это комментарий. */ « "This text is displayed.\n";

21: return 0; \

22: }

 

 

В интегрированной среде при выделении синтаксиса цвет комментариев очень похож на цвет строчек текста, что делает COMMENTS.CPP трудным для чтения. Для изменения цветов выберите в Option | Environment разделах Syntax Highlighting | Cmtomize, затем Comment из списка Element и щелкните кнопкой мыши на альтернативном цвете переднего плана (FG). (Я использую темно-серый.)

В строках 3~7 используется комментарий С++ для небольшого информационного заголовка, описывающе­го программу. Многие программисты любят "помечать" свои исходные файлы своеобразно стилизованными заголовками, которые могут содержать информацию о программе, исправлениях, дате модификаций и т.п.

Строки 11-12 демонстрируют классический способ завершать операторы на С++ поясняющими коммента­риями. Строки 14-16 содержат многострочный комментарий на ANSI C. Для написания аналогичного коммен­тария на С++ каждую строку следовало бы начинать с / /.

Строки 18-19 иллюстрируют важный принцип: комментарии любого стиля не должны оказаться в середи­не символьной строки. Строка 20 показывает, что только комментарий стиля ANSI C может быть вложен внутрь оператора — прием, приносящий скорее вред, чем пользу, и лучше его избегать.

Введение в потоки ввода-вывода

Поведение объекта потока ввода-вывода очень похоже на стандартный ввод-вывод потоков файлов.

Потоки cout(character out) и cin(character in) имеют множество разнообразных возможностей.

Чтобы отобразить символ с, вы можете написать

cout << с;или

cout.put(c);

Функция put() — член cout, это новое понятие, с которым вы будете часто встречаться в следующих раз­делах.

Для вызова функции-члена, отделите его точкой от cout, как в записи, используемой для доступа к члену структуры. Поток cout— пример класса, который может иметь относящиеся к нему функции, такие, как put(). Вы должны вызывать функ­цию-член только со ссылкой на объект, подобный cout. Без этого выражение

put(c); // ??? попытается вызвать независимую функцию put().

Оператор

cout.put(c); вызовет функцию put(), которая принадлежит cout.

Для того чтобы прочитать символ из стандартного ввода, следует использовать поток ввода cin, стоящий перед оператором »(взять из). Оператор

cin » с; читает один символ из стандартного ввода и присваивает его переменной с.

или:

cin.get(c);

Листинг 1.3. FILTER.CPP (простая программа-фильтр на С++)

1: #include <iostream.h> 2:

3: main()

4: {

5: char с; 6:

7: while (cin.get(c))

8: cout.put(c);

9: return 0;

10: }

 
 


Строка 7 в FILTER.CPP вызывает cin.get(c) для ввода символа. Выражение cin.get(c) возвращает значение типа int или нуль при достижении конца источника ввода. Строка 8 передает все символы из источника в стандартный вывод.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.