Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
wizzzi
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 12
#1

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

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

Как написано в книжке this - это указатель на экземпляр класса.
Что происходит в данных выражениях:
1.
C++
1
i = this -> a -> b -> c;
2.
C++
1
this -> a -> b = 0;
3.
C++
1
this -> a -> b = c ->d;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2012, 17:10     Объясните как работает this -> и ->
Посмотрите здесь:

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

объясните как это работает - C++
#include <iostream> #include <algorithm> using namespace std; long func (long * arr, int length) { return...

объясните как работает программа - C++
A в степени K, как работает эта программа, за что отвечают m и s ? #include "stdafx.h" #include "iostream" using namespace std; ...

qsort объясните как работает - C++
Объясните в подробностях как работает данная функция сортировки и как её использовать. К примеру если надо просортировать данный масив: ...

Объясните как работает код - C++
можете подробно объяснить как работают программы. 1 #include<iostream> #include<cmath> using namespace std; int main() ...

Объясните как работает программа - C++
Данная программа делает подсчёт символов. Помогите разобраться как она работает. Сижу смотрю - и ступор просто #include <stdio.h> ...

Объясните как работает программа - C++
Цель задачи была: Возведение X в 59 степень за самое малое количество шагов. 1. Ввод (X); 2. X2 = X*X; 3. X4 = X2*X2; ...

Объясните как работает программа - C++
Задание звучит так: "Разработать функцию, в которую передаются в качестве аргументов массив типа float и его размер. Функция должна...

Объясните, как работает программа - C++
Поясните пожалуйста чайнику! Объясните плиз как работает программа, то есть что значит "**" и остальные строки плиз очень прошу!!!! ...

Объясните, как работает программа - C++
объясните как работает программа #include <iostream> #include <conio.h> using namespace std; bool Р(int n) { for (int i =...

Объясните как работает рекурсия - C++
#include <iostream> #include <iomanip> using namespace std; void print(int a, int b); int main() { print(0,...

Объясните как работает программа - C++
Если символ: не пробел, не новая строка, не табуляция. То in присваивается no(все слова). Дальше я вообще не понял как программа работает....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
T2skler
50 / 50 / 1
Регистрация: 16.05.2012
Сообщений: 231
25.06.2012, 17:28     Объясните как работает this -> и -> #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 - ссылки на объекты.
wizzzi
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 12
25.06.2012, 17:40  [ТС]     Объясните как работает this -> и -> #3
но там же еще присваивание есть, значит мы что то получаем?
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
25.06.2012, 18:26     Объясните как работает this -> и -> #4
Для определения текущего объекта класса адрес этого объекта всегда передается функции-члену как скрытый первый аргумент. Соответственно внутри функции, когда нужно узнать, какой именно объект является текущим, используется этот указатель. Всякий раз, когда функция обращается к другому члену класса, не называя имени его объекта явно, компилятор считает, что он является членом этого (this) объекта. При желании можно явно обращаться к членам этого объекта, используя ключевое слово this.
Независимо от того, добавите ли вы оператор this-> в тело функции явно или нет, результат будет одинаков.
Объект, для которого вызывается функция-член, называется "текущим", и все имена членов, записанные в сокращенном виде внутри функции-члена, считаются членами текущего объекта. Другими словами, сокращенное обращение к членам класса интерпретируется как обращение к членам текущего объекта.
T2skler
50 / 50 / 1
Регистрация: 16.05.2012
Сообщений: 231
25.06.2012, 18:34     Объясните как работает this -> и -> #5
Цитата Сообщение от wizzzi Посмотреть сообщение
но там же еще присваивание есть, значит мы что то получаем?
Да, конечно. Мы получаем какое-либо значение, но вот каким оно будет зависит от того к типам каких переменных мы обращаемся. Возможно там вообще собственно писанный класс, который возвращает то, что мы пропишем ему возвращать. Уточняйте.
Yandex
Объявления
25.06.2012, 18:34     Объясните как работает this -> и ->
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru