* * *
┌─────────────────────────────┐ t0000126
│ Обращение к члену объекта │
│ через имя объекта │
└─────────────────────────────┘
Доступ к членам объекта через имя объекта выполняется с использованием оператора '.' (точка). Для подобного доступа после имени предварительно объявленного объекта ставится точка и пишется имя члена, к которому производится обращение:
┌─────────────────────────────────┐
│ Имя_объекта.Имя_члена_объекта │
└─────────────────────────────────┘
Далее с этой комбинацией можно работать как с обычной переменной.
┌──────────────────────────────────────────────┐
│ Например,
│
│ Определена структура: struct ddd {
│ int a, b;
│ long c;
│ }; ├──────────────────────────────────────────────┤
│ В коде объявлены структурные переменные - объекты: │
│ . . .
│ ddd zz, kk, tt;
│ . . .
├──────────────────────────────────────────────┤
│ Работа с внутренними переменными объектов:
│ zz.a = 2; zz.b = 3; zz.c = zz.a * zz.b;
│ kk.a = kk.b = kk.c = 1;
│ tt.a = kk.b + (zz.a + kk.c) * zz.c;
└──────────────────────────────────────────────┘
Пример работы с переменными объекта "через точку" показан в ИлК S\s08.cpp.
* * *
┌────────────────────────┐ t0000127
│ Указатели на объекты │
│ структур │
└────────────────────────┘
В С++ создание указателей на объекты структур выполняется точно так же, как и создание указателей на обычные переменные.
Для создания указателя на объект перед именем переменной указателя помещается '*'. В общем виде это выглядит следующим образом:
┌──────────────────────────┐
│ Ярлык * Имя_указателя; │
└──────────────────────────┘
, где Ярлык - имя-идентификатор структуры;
Имя_указателя - идентификатор переменной-указателя.
Для задания адреса объекта следует выполнить операцию присвоения, разместив перед именем объекта знак амперсанда '&':
┌──────────────────────────────────┐
│ Имя_указателя = & Имя_объекта; │
└──────────────────────────────────┘
Пример взятия адреса объекта показан в ИлК S\S09.cpp.
Доступ к членам структуры производится при помощи оператора стрелка ( -> ).
Этот оператор формируется из знака "минус" и символа "больше".
Общий вид обращения к члену объекта:
┌──────────────────────────────┐
│ Имя_указателя -> Имя_члена │
└──────────────────────────────┘
Далее с данной конструкцией можно работать, как с обычной переменной.
Пример обращения к членам объекта с использованием указателей показан в ИлК S\S10.cpp.
Поражающая воображение универсальность С++ позволяет выполнять обращение к членам объекта в одном коде и через точку, и через указатель.
Пример смешанного обращения к членам объекта показан в ИлК S\S11.cpp.
struct ddd { int a;
long c, d, e;
char lira;
};
//----------------------------------int main()
{
ddd kk;
ddd *pk;
pk = &kk;
pk->a = kk.c = pk->d = kk.e = 1;
pk->lira = '!';
* * *
┌────────────────────────┐ t0000128
│ Массивы в структурах │
└────────────────────────┘
Члены в структурах могут быть не только простыми переменными, но и представлять собой массивы однородных элементов. Мы пока рассмотривали только одномерные массивы, но принцип формирования массивов сохранится.
Для того, чтобы встроить в структуру массив элементов, достаточно объявить член структуры в виде массива следующим образом:
┌────────────────────────────────┐
│ struct Ярлык {
│ . . .
│ Тип Имя_члена[N];
│ char Имя_строки[M];
│ . . .
│ };
└────────────────────────────────┘
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.