Кент Рейсдорф. BORLAND C++BUILDER. Раздел 1

Кент Рейсдорф. BORLAND C++BUILDER. Страница 78

Защищенный уровень доступа объяснить немного труднее. К защищен­ным членам класса, как и к закрытым, пользователь обращаться не может. Однако эти члены могут быть доступны для классов, которые являются про­изводными данного класса. Я буду говорить об этом подробнее немного позже, в разделе «Функции-члены».

В языке Си++ есть три ключевых слова, устанавливающих уровни до­ступа. Это (как и следовало ожидать) слова public, private и protected. Уровни доступа к членам класса устанавливаются при объявлении класса. Для объ­явления класса служит ключевое слово class. Объявление класса выглядит подобно объявлению структуры, но с добавлением модификаторов доступа:

class Vehicle { public:

bool haveKey; bool Start(); void SetGear(int Gear); void Accelerate(int acceleration); void Break(int factor); void Turn(int direction); void ShutDown(); protected:

void StartupProcedure(); private:

void StartElectricalSystem(); void StartEngine(); int currentGear; bool started; int speed;

} ;

Обратите внимание, как организовано разбиение членов класса по трем уровням доступа. Вы не обязаны использовать все три уровня доступа в своих классах. При желании можно вообще не устанавливать уровни доступа, но обычно у вас будут присутствовать по крайней мере два из них — public и private.

Конструкторы

Классы в Си++ имеют специальную функцию, называемую конструкто­ром.

Конструктор (constructor) — это функция, которая автоматически вызывается при создании экземпляра класса. Конструктор используется для инициализации переменных-членов клас­са, выделения необходимой памяти и выполнения других действий, необхо­димых перед началом использования класса. Класс Vehicle, приведенный выше в качестве примера, не содержит явно определенного конструктора. В таких случаях компилятор C++Builder создает конструктор по умолчанию (default constructor). Для простых классов это вполне допустимо, но обычно конструкторами снабжают классы любой значимости. Имя конструктора должно совпадать с именем класса. Это служит отличительным признаком конструктора. Теперь, имея все это в виду, давайте добавим объявление конструктора в класс Vehicle:

Web-дизайн (с) 2010 All rights reserved