Кент Рейсдорф. BORLAND C++BUILDER. Раздел 1
Кент Рейсдорф. BORLAND C++BUILDER. Страница 76
В этом примере каждый экземпляр класса является отдельным объектом, имеющим свои собственные члены-данные и работающим независимо от других объектов. Все объекты имеют одинаковый тип, но занимают разные участки памяти. Теперь, после этого краткого вступления, давайте приступим к подробному изучение классов.
Класс, как и структура, должен быть предварительно объявлен. Объявление класса обычно содержится в заголовочном файле. Для простых классов объявление и определение могут быть размещены в единственном исходном файле программы, однако при написании реальных программ так обычно не поступают. Как правило, для класса создают отдельный исходный файл с именем, близким к имени класса, и расширением .срр. Поскольку Windows 95 и Windows NT поддерживают длинные имена файлов, вы можете при желании использовать имя, в точности совпадающее с именем класса. Заголовочный файл для класса обычно имеет то же имя, что и исходный файл, но расширение .h. Например, если у вас есть класс с именем MyClass, исходный файл следует назвать MYCLASS.CPP, а заголовочный — MYCLASS.Н.
Уровни доступа к членам класса
Члены классов могут иметь три уровня доступа: закрытый (private), открытый (public) или защищенный (protected). Все они рассмотрены в данном разделе.
Уровни доступа к членам класса определяют способ работы пользователей с классом. Программируя самостоятельно, вы можете быть как создателем классов, так и их пользователем. При работе в команде один программист может быть создателем класса, а остальные — его пользователями.
Позвольте пояснить пару комментариев, которые я сделал на второй день, «Операторы управления и структуры в Си++». Я говорил тогда, что структура является классом, все члены которого открыты. Фактически, это единственное отличие структуры от класса в Си++. Структура может содержать функции наряду с данными. Структура не может использовать модификаторы доступа (private, protected и public), потому что она имеет только открытый доступ. Я говорил также, что вы, вероятно, не будете часто использовать структуры в программах на Си++. Из-за близкого сходства структур и классов вы, скорее всего, предпочтете использовать класс вместо структуры.