Программирование >>  Инициализация объектов класса, структура 

1 ... 5 6 7 [ 8 ] 9 10 11 ... 395


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 с использованием двух



1 ... 5 6 7 [ 8 ] 9 10 11 ... 395

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика