|
Программирование >> Инициализация объектов класса, структура
if ( element count == 0 ) cerr << Сшибка. Файл: << Строка: << LINE << element count не может FILE быть 0 ; Две константе! DATE и TIME содержат дату и время компиляции. Стандартная библиотека С предоставляет полезный макрос assert() , который проверяет некоторое условие и в случае, если оно не выполняется, выдает диагностическое сообщение и аварийно завершает программу. Mi будем часто пользоваться этим полезным макросом в последующих примерах программ. Для его применения следует включить в программу директиву #include <assert.h> assert.h - это заголовочный файл стандартной библиотеки С. Программа на C++ может ссылаться на заголовочный файл как но его имени, принятому в C, так и но имени, принятому в C++. В стандартной библиотеке С++ этот файл носит имя cassert. Имя заголовочного файла в библиотеке С++ отличается от имени соответствующего файла для С отсутствием расширения .h и подставленной спереди буквой c (выше уже упоминалось, что в заголовочных файлах для C++ расширения не употребляются, поскольку они могут зависеть от реализации). Эффект от использования директивы препроцессора #include зависит от тина заголовочного файла. Инструкция #include <cassert> включает в текст программы содержимое файла cassert. Но поскольку все имена, используемые в стандартной библиотеке С++, определены в пространстве std, имя assert() будет невидимо до тех пор, пока мы явно не сделаем его видимым с помощью следующей using- директивы: using namespace std; Если же мы включаем в программу заголовочный файл для библиотеки С #include <assert.h> то надобность в using-директиве отпадает: имя assert() будет видно и так2. (Пространства имен используются разработчиками библиотек для предотвращения засорения глобального пространства имен. В разделе 8.5 эта тема рассматривается более подробно.) 1.4. Немного о комментариях Комментарии помогают человеку читать текст программ:; писать их грамотно считается правилом хорошего тона. Комментарии могут характеризовать иснользуем1й алгоритм, 2 Как было сказано ранее, не все компиляторы поддерживают пространства имен, поэтому эта разница проявляется только для последних версий компиляторов. * Это первое знакомство с определением класса в C++. * Классы использтся как в объектном, так и в * объектно-ориентированном программировании. Реазация класса Screen представлена в главе 13. * класса class Screen { /* Это называется телом класса */ public: в позицию 0,0 */ private: /* Классы поддерживают сокрытие информации */ void home(); /* переместить курсор void refresh ();/* перерисовать экран /* Классы поддерживают сокрытие информации /* Сокрытие информации ограничивает доступ из */ /* программы к внутреннему представлению класса */ /* (его данн). Для этого используется метка */ /* private: */ int height, width; вся последовательность между /* и */ считается комментарием. Например: Слишком большое число комментариев, перемежающихся с кодом программы, может ухудшить читаемость текста. Например, объявления переменных width и height в данном тексте окружены комментариями и почти не заметны. Рекомендуется писать развернутое объяснение перед блоком текста. Как и любая программная документация, комментарии должны обновляться в процессе модификации кода. Увы, нередко случается, что они относятся к устаревшей версии. Комментарии в стиле С не могут быть вложенными. Попробуйте откомпилировать нижеследующую программу в своей системе. Большинство компиляторов посчитают ее #include <iostream> * комментарии * Строку не /* комментарии /* */ не могут быть вложенными. вкладываются компилятор рассматривает, как часть программ!. Это же относится к данной и следящей строкам int main() { cout << Здравствуй, мир\п ; ошибочной: Один из способов решить проблему вложенных комментариев - поставить пробел между звездочкой и косой чертой: пояснять назначение тех или иных переменных, разъяснять непонятные места. При компиляции комментарии выкидываются из текста программы поэтому размер получающегося исполняемого модуля не увеличивается. В С++ есть два типа комментариев. Один - такой же, как и в С, использующий символы /* для обозначения начала и */ для обозначения конца комментария. Между этими парами символов может находиться любой текст, занимающий одну или несколько строк: * Первое знакомство с определением класса в C++. * Классы использтся как в объектном, так и в * объектно-ориентированном программировании. Реазация * класса Screen представлена в главе 13. class Screen { Это называется телом класса public: void home(); переместить курсор в позицию 0,0 void refresh (); перерисовать экран private: /* Классы поддерживают сокрытие информации . */ /* Сокрытие информации ограничивает доступ из */ /* программы к внутреннему представлению класса */ /* (его данн). Для этого используется метка */ /* Классы поддерживают сокрытие информации /* Сокрытие информации ограничивает доступ /* программы к внутреннему представлению кл /* ( его данным). Для этого используется м /* private: */ int height, width; строчных комментариев: Обычно в программе употребляют сразу оба типа комментариев. Строчные комментарии удобны для кратких пояснений - в одну или полстроки, а комментарии, ограниченные /* и */, лучше подходят для развернутых многострочных пояснений. 1.5. Первый взгляд на ввод/вывод Частью стандартной библиотеки С++ является библиотека iostream, которая реализована как иерархия классов и обеспечивает базовые возможности ввода/вывода. Ввод с терминала, называем1й стандартным вводом, привязан к предопределенному объекту cin. Вывод на терминал, или стандартный вывод, привязан к объекту cout. Третий предопределенный объект, cerr, представляет собой стандартный вывод для ошибок. Обычно он используется для вывода сообщений об ошибках и предупреждений. Для использования библиотеки ввода/вывода необходимо включить соответствующий заголовочный файл: #include <iostream> Чтобы значение поступило в стандартный вывод или в стандартный вывод для ошибок используется оператор <<: /* * / Последовательность символов */ считается концом комментария только в том случае, если между ними нет пробела. Второй тин комментариев - однострочн1й. Он начинается последовательностью символов и ограничен концом строки. Часть строки вправо от двух косых черт игнорируется компилятором. Вот пример нашего класса Screen с использованием двух
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |