В чем разница между ссылкой на объект и член-данных объекта? Приведу пример интересующей меня детали на конструкторе копированияconstructor_and_d_and_c::constructor_and_d_and_c(const constructor_and_d_and_c& c) // передаем объект, который хотим скопировать
{
cout << "To, chto interesuet: " << c.n_Name << endl;
cout << "copy is calling" << endl;
n_Name = new string(*(c.n_Name)); // n_Mame - член данных нового объекта
};
Если мы хотим посмотреть какой адрес в памяти имеет член данных, то мы можем просто написать c.n_Name, для того, чтобы узнать адрес объект c нужно обязательно добавить &. Почему это так? Ведь в аргументе уже указано, что мы принимаем ссылку на объект.

21 Авг 2019 в 07:05
173 +1
0
Ответы
1

В данном примере, c.n_Name является ссылкой на член-данных объекта c, то есть это указатель на объект типа string, который содержит имя. Поэтому при выводе c.n_Name, мы получаем значение, которое хранится в данном объекте.

С другой стороны, если мы хотим получить адрес объекта c, нам необходимо добавить оператор &, чтобы получить адрес объекта, а не значение, хранящееся в данном объекте.

Таким образом, разница заключается в том, что c.n_Name обращается к значению член-данных объекта c, тогда как &c обращается к адресу объекта c в памяти.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 706 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир