    ЗАМЕЧАНИЕ 

    Вы можете также использовать опцию -Р, чтобы указать Borland C++, что 
компилируются программы на C++. Использовать для исходных файлов расширение 
,СРР, конечно, проще, кроме того зто ломожет вам различать программы на ANSI С 
и на C++. Некоторые программисты также дают своим заголовочным файлам на C++ 
расширение .НРР вместо .H. Компилятор не делает различай между .НРР и .Н, 
поэтому в данной книге все заголовочные файлы заканчивайте на .Н, 
Зквивалентного параметра в интегрированной среде не существует. 

    В главе 5 вы уже скомпилировали и запустили простую программу WELCOME.С. 
Листинг 12.1 — аналогичная версия на C++ с похожим кодом. Для компиляции и 
запуска программы в DOS последовательно введите команды bcc welcome и welcome. 
Для компиляции и запуска программы в интегрированной среде установите 
TargetExport равным EasyWin и нажмите <Ctrl+F9> 

    Листинг 12.1 WELCOME.CPP (программа на C++) 

    #include <iostream.h> 

    main() { 
       cout « "Welcome to Borland C++ programming!  \n" 
        return(); 
    } 

    Существует два основных различия между листингом 12.1 и листингом 5.1. 
Во-первых, в первой строке включается IOSTREAM.H вместо привычного STDIO.H 
(при необходимости вы можете включить оба этих заголовочных файла). Во-вторых, 
в строке 5 используется стандартный поток вывода объектов cout ("character 
out", или "вывод символов") библиотеки потоков ввода-вывода для вывода текста 
на дисплей. Для того чтобы направить информацию по месту назначения (в данном 
случае, на экран), библиотека потоков ввода-вывода использует оператор C++ « 
("направить в"). Можно представить себе « в виде стрелок, перенаправляющих 
такие данные, как строка символов, из WELCOME, в такой потоковый объект 
ввода-вывода, как cout. 
    Вы можете также использовать составной оператор потоков ввода-вывода. Если 
firstName и lastName имеют тип указателей на строку char *, то выражение 

    cout « lastName « "," « firstName «  '\n'; 

    выводит два имени (lastName выводится первым), разделенных запятой и 
заканчивающихся переводом строки. Вы можете написать строку "\п" или символ 
'\п' в качестве начала новой строки. Некоторые программисты предпочитают 
писать каждую часть составного оператора iostream с новой строки. Независимо 
от внешнего вида, следующее выражение — один оператор, а не четыре: 

    cout « lastName 
    « "," 
    « firstName 
    « '\n' 

    Библиотека потоков ввода-вывода впечатляет своей способностью выводить 
различные типы данных, включая встроенные (такие, как int, long, double), а 
также .типы, которые вы создали сами. Если count имеет тип long, то выражение 

    cout « "Count == " « count «  '\n'; 

выведет строку, завершающуюся значением count и переводом строки. 
    Вы изучите библиотеку потоков ввода-вывода более подробно далее в этой 
главе. А пока не обращайте особого внимания на различие в типах ее операторов 
в листингах части III. 

    ЗАМЕЧАНИЕ 

    Вы можете использовать методы stdio и библиотека потоков ввода-вывода 
вперемежку, а также использовать printf() и аналогичные функции в программах 
на C++. Конечно, как вы узнаете в главе 15 библиотеку потоков ввода-вывода 
можно расширить для обработки новых типов данных. Функция prinf() может 
манипулировать только встроенными типами данных и своими собственными 
форматами вывода, и, хотя этих форматов огромное количество их нельзя запрограммировать. 


    Сравнивая С и C++ 

    До того как мы приступим к изучению возможностей C++, необходимо обратить 
внимание на основные отличия ANSI С от C++. 


    Глава 12. Введение в C++     279 
