Ссылки на члены класса (ООАиП ООП Объектно ориентированное мышление и программирование)

Ссылки на члены класса

Если экземпляр класса был создан посредством создания указателя на переменную с типом, совпадающим по названию с именем класса, то нельзя обращаться к элементам этого объекта (экземпляра класса) с использованием знака . (точка). Это связано с тем что для работы этого знака необходима переменная, а у нас слева от точки стоит указатель. Чтобы получить переменную, мы должны использовать разыменование (получение содержимого ячейки памяти, адрес которой содержит указатель).
Например для класса
Class KKK { void fff () {}; };
После создания его экземпляра:
KKK* x; //создали экземпляр класса
Запуск функции будет выглядеть следующим образом:
(*x).fff();
Для удобства восприятия был создан альтернативный способ записи этого действия:
x->fff();
Таким образом эсли экземпляр класса был создан с использванием указателя, то обращение к его элементам (полям и методам) будет осуществляться посредство знаков визуально складывающихся в стрелочку
->
Как мы помним, если экземпляр класса создавался как переменная, то применялся знак точка.
Таким же образом происходит обращение к полям и методом класса, для экземпляров класса (объектов) созданных при помощи оператора new, так как оператор new тоже возвращает указатель.
Классы могут содержать указатели на самих себя.
Домашнее задание: прочитать главу 10 стр. 443-444 и разобрать примеры.
Домашнее задание по нескольким предыдущим вопросам: прочитать главу 10 целиком и разобрать примеры.

Автор: к.п.н. Румянцев Сергей Александрович

← Назад в раздел