Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 12
1

Объясните как работает this -> и ->

25.06.2012, 17:10. Показов 1577. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как написано в книжке this - это указатель на экземпляр класса.
Что происходит в данных выражениях:
1.
C++
1
i = this -> a -> b -> c;
2.
C++
1
this -> a -> b = 0;
3.
C++
1
this -> a -> b = c ->d;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.06.2012, 17:10
Ответы с готовыми решениями:

Объясните как работает %
Искал в интернете, но про % очень скудно написано. Знаю только,что используется для деления с...

Объясните как работает
Здравствуйте, объясните пожалуйста поэтапно, как работают данные коды 1) nl -bp'^H' -s'^'...

Объясните как работает
Всем привет! Я только полгода в программировании и Delphi. Недавно с другом лекцию слушали по...

Объясните, как работает код
Добрый вечер. Код написан верно,помогите понять как она считает,отладку делала не понимаю откуда он...

4
50 / 50 / 6
Регистрация: 16.05.2012
Сообщений: 232
25.06.2012, 17:28 2
Цитата Сообщение от wizzzi Посмотреть сообщение
Как написано в книжке this - это указатель на экземпляр класса.
Что происходит в данных выражениях:
1.
C++
1
i = this -> a -> b -> c;
2.
C++
1
this -> a -> b = 0;
3.
C++
1
this -> a -> b = c ->d;
Во всех 3-х случаях обращение к переменным. По сути -> операция разыменовывания указателя. a, b, c - ссылки на объекты.
0
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 12
25.06.2012, 17:40  [ТС] 3
но там же еще присваивание есть, значит мы что то получаем?
0
return (true);
1976 / 1111 / 221
Регистрация: 19.04.2011
Сообщений: 2,345
25.06.2012, 18:26 4
Для определения текущего объекта класса адрес этого объекта всегда передается функции-члену как скрытый первый аргумент. Соответственно внутри функции, когда нужно узнать, какой именно объект является текущим, используется этот указатель. Всякий раз, когда функция обращается к другому члену класса, не называя имени его объекта явно, компилятор считает, что он является членом этого (this) объекта. При желании можно явно обращаться к членам этого объекта, используя ключевое слово this.
Независимо от того, добавите ли вы оператор this-> в тело функции явно или нет, результат будет одинаков.
Объект, для которого вызывается функция-член, называется "текущим", и все имена членов, записанные в сокращенном виде внутри функции-члена, считаются членами текущего объекта. Другими словами, сокращенное обращение к членам класса интерпретируется как обращение к членам текущего объекта.
0
50 / 50 / 6
Регистрация: 16.05.2012
Сообщений: 232
25.06.2012, 18:34 5
Цитата Сообщение от wizzzi Посмотреть сообщение
но там же еще присваивание есть, значит мы что то получаем?
Да, конечно. Мы получаем какое-либо значение, но вот каким оно будет зависит от того к типам каких переменных мы обращаемся. Возможно там вообще собственно писанный класс, который возвращает то, что мы пропишем ему возвращать. Уточняйте.
0
25.06.2012, 18:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.06.2012, 18:34
Помогаю со студенческими работами здесь

Объясните, как работает программа
объясните как работает программа #include <iostream> #include <conio.h> using namespace std;...

Объясните, как работает программа возведения числа в степень
A в степени K, как работает эта программа, за что отвечают m и s ? #include "stdafx.h" #include...

Объясните как работает программа
Цель задачи была: Возведение X в 59 степень за самое малое количество шагов. 1. Ввод...

Объясните как работает скрипт
Здраствуйте! Вот собственно скрипт. Очень буду рад если кто-нибудь мне досконально объяснит принцип...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru