Использование данных-членов класса




Инкапсуляция позволяет скрыть какие-то данные и функции внутри класса. Данных может быть столько, сколько нужно и сколько позволяет память. Однако их может и не быть вообще.

Попытка инициализировать данные внутри объявления класса ошибочна. Класс - это не объект и память для него не будет выделена до тех пор, пока не будет создан экземпляр этого класса. Данные, объявленные в классе, следует рассматривать как поля структуры, а не как переменные. Как и для структуры, нужно объявить объект с типом (именем) класса, а затем инициализировать данные члены.

Данные-члены создаются с тем же классом памяти, что и объект класса. Если объект объявляется автоматическим, то все его данные будут автоматическими. Статические данные-члены являются исключением из этого правила: когда создаётся объект со статическими членами (данными), память под них невыделяется, потому что это приведёт к появлению нескольких копий статических данных. Если в классе данное объявляется статическим (static), то все экземпляры класса будут разделять одно и тот же данное-член. Статический член данных, как и глобальная переменная, размещается в фиксированной области памяти на стадии компоновки. Для объявления или инициализации статических данных используется в точности та же нотация, что и для глобальных переменных (ехtern ).

Если данное-член класса объявлен как статический, то компоновщик выделяет под него память только один раз, когда производится объявление этого данного в классе. Поэтому инициализировать статическую переменную можно в момент её объявления. Статические элементы всегда остаются статическими.

Привилегии доступа к статическим данным отличаются от привилегий доступа к нестатическим. К статическому данному необходимо всегда обращаться через имя класса и оператор разрешения области видимости (:: ), независимо от того, объявлен он как приватный, общедоступный или защищенный.

Оператор разрешения области видимости (::) – используется для доступа к данным- членам:

- через функцию-член класса;

- через класс, объявленный дружественным для данного класса.

Для доступа к открытым членам класса используется оператор точка (.) с объектами или оператор (->) с указателями на объекты класса.

Для доступа к закрытым и защищённым членам класса используются функции-члены открытой части класса.

 

Ход работы

1 Изучить теоретические сведения.

2 В соответствии с индивидуальным заданием разработать структуру класса, сделать определение функций-членов класса (class), разработать алгоритм использования объектов и указателей на объекты класса для доступа к данным и функциям- членам. Проверить возможность доступа к членам класса в разделах private, public, protected. В разделах объявить минимум по одному данному-члену, включая статические (static).

3 Набрать программу на компьютере.

4 Устранить ошибки.

5 Получить результат.

6 Оформить отчет.

7 Подготовиться к защите лабораторной работы, изучив контрольные вопросы по данной теме.

Индивидуальное задание к лабораторной работе №20.

Составить программу для объявления и использования данных типа класс согласно индивидуальному заданию, приведенному в таблице 20.1.

Таблица 20.1 - индивидуальные задания

Базовый класс Производный класс Производный класс
1 источник света костёр фонарь
2 хранилище зернохранилище элеватор
3 грузоподъемное средство кран мостовой кран
4 животное кот кот сиамский
5 растение дерево дуб
6 транспортное средство самолет дельтоплан
7 транспортное средство автомобиль легковой автомобиль
8 транспортное средство корабль танкер
9 топливо нефть бензин
10 средство информации книга журнал
11 хранилище информации жесткий диск дискета
12 средство визуализации электронно-лучевая трубка жидкокристаллический экран
13 источник тепла солнце костер
14 источник тока батарея аккумулятор
15 продукты овощи картофель
16 таймер часы часы наручные
17 морская фауна рыба колбаса
18 пишущее устройство ручка шариковая ручка
19 режущее устройство нож ножницы
20 продукты хлеб батон
21 инструмент напильник надфиль
22 металл сталь закалённая сталь
23 мебель кресло стул
24 здание цех кузнечный цех
25 стройматериалы кирпич фасонный кирпич
26 одежда куртка пиджак
27 устройство передачи крутящего момента редуктор червячный редуктор
28 обувь ботинки кеды
29 головной убор шапка папаха
30 погода дождь ураган
31 спорт инвентарь лыжи санки
32 средство связи телефон радиотелефон
33 колесо зубчатое колесо косозубое колесо
34 водоём море водохранилище
35 оптический прибор труба бинокль
36 флора лес куст
37 посуда кастрюля тарелки

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-09-06 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: