Читайте также:
|
|
Три спецификатора доступа обеспечивают в C++ управление доступом. Эти спецификаторы являются основанием принципа инкапсуляции - одного из трёх основных принципов объектно-ориентированного программирования. Соблюдение правил доступа повышает надёжность программного обеспечения.
Спецификаторы доступа способны обеспечить многоуровневую защиту функций и данных в наследуемых классах. Система управления доступом, реализованная на основе трёх спецификаторов, не является гибкой. С её помощью может быть реализована защита по принципу "допускать ВСЕХ (члены класса, объявленные в секции public) или не допускать НИКОГО (члены класса, объявленные в секциях protected и private)". В C++ существует возможность организации более гибкой защиты. Здесь можно также объявлять функции, отдельные функции-члены классов и даже классы (в этом случае речь идёт о полном множестве функций-членов класса), которые получают доступ к защищённым и приватным членам данного класса. Что означает реализацию системы управления доступом принципу "не допускать НИКОГО, КРОМЕ". Такие функции и классы называют дружественными функциями и классами. Объявление дружественных классов и функций включается в объявление данного класса вместе со спецификатором объявления friend.
Ключ private допускает использование элементов данных только функциями-членами (методами) класса. Ключ public разрешает использовать элементы класса любыми функциями программы.
Существует еще ключ protected позволяющий использование элементов данных класса функциями-членами производных классов.
Ключ private используется по умолчанию и может быть опущен. Конструктор – специальный метод, который автоматически вызывается при создании объекта.
Возможные функции конструктора:
-выделение памяти для полей класса;
-инициализация полей начальными значениями;
-создание объекта по образцу (копирование);
-преобразование типа.
Синтаксис объявления конструктора: <Имя класса>(<Список параметров>);
Конструктор – специальный метод.
Дата добавления: 2015-10-02; просмотров: 66 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Указатели позволяют эффективно работать с массивами | | | Имя метода совпадает с именем класса. |