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

указатель this что именно он делает - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дана матрица 7х7, поменять местами элементы, симметрично относительно побочной диагонали http://www.cyberforum.ru/cpp-beginners/thread878047.html
#include <iostream> #include <conio.h> using namespace std; int main() { setlocale(LC_ALL, "russian"); int a;
C++ УКАЗАТЕЛИ. Написать функцию, к-рая вычисляет сумму и произведение первых N чётных чисел Написать функцию, к-рая вычисляет сумму и произведение первых N чётных чисел. ИСПОЛЬЗУЯ УКАЗАТЕЛИ!!!!!!! пОЖАЛУЙСТА. СРОЧНО НАДО! Добавлено через 7 минут помогите пожалуйстааа!!! Добавлено через 5 минут #include "stdafx.h" http://www.cyberforum.ru/cpp-beginners/thread878038.html
Написать программу, которая вычисляет среднее арифметическое всех элементов дерева Т C++
...
C++ Определить кол-во элементов массива, которые больше среднеарифметического значения всех элементов массива
Сделать программу, к-рая случайно заполняет массив А (n<30) целыми значениями. Определить кол-во элементов массива, которые больше среднеарифметического значения всех элементов массива.
C++ Как в программе подключить справку? http://www.cyberforum.ru/cpp-beginners/thread877990.html
Есть файл *.chm, подключаю его через project -> options и прописываю ShellExecute(Handle,L"open",L"Справка.chm",NULL,NULL,SW_RESTORE); НО ошибка "cannot convert 'wchar_t*'to'const char*'" Может ещё есть способ?
C++ Массивы-Указатели. Определить кол-во и суму элементов, которые попадают в диапазон А,В Сделать программу, к-рая случайно заполняет массив А (n<30) целыми значениями. Определить кол-во и суму элементов, которые попадают в диапазон А,В. Массив и результат вывести в файл ШАБЛОН ВОТ ТАКОЙ::: #include "stdafx.h" #include <iostream> #include <Windows.h> using namespace std; подробнее

Показать сообщение отдельно
VLK
 Аватар для VLK
192 / 161 / 12
Регистрация: 05.05.2013
Сообщений: 1,221
25.05.2013, 15:32     указатель this что именно он делает
Вот код:

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
 
class test_class
{
public:
void set_var(int a, int b) { varOne = a; varTwo = b; }
test_class operator++() { varOne++; varTwo++; return *this; }
int get_varOne() { return varOne; }
int get_varTwo() { return varTwo; }
    
private:
int varOne;
int varTwo;
};
 
int main()
{
test_class qwerty;
qwerty.set_var(0,10);
    
std::cout << "varOne: " << qwerty.get_varOne() << "\n";
std::cout << "varTwo: " << qwerty.get_varTwo() << "\n";
 
qwerty++;
std::cout << "varOne: " << qwerty.get_varOne() << "\n";
std::cout << "varTwo: " << qwerty.get_varTwo() << "\n";
qwerty++;
std::cout << "varOne: " << qwerty.get_varOne() << "\n";
std::cout << "varTwo: " << qwerty.get_varTwo() << "\n";
        
system("pause");
return 0;
}


Много прочитал про оператор this, но все же осталось смутное представление о нем, думаю на практике, на примере, удастся понять до конца, подскажите, в строчке 7 часть кода: return *this куда именно и что именно возвращает оператор return ?

Правильно ли я понимаю, что return *this возвращает новое значение двух переменных (varOne и varTwo), по тому адресу, по которому они находятся? в объекте qwerty?
т.е. сначала они ( переменные varOne и varTwo) были 0 и 10, и находились по адресам, допустим varOne - 00001, varTwo - 00002, после выполнения операции инкремента, в эти адреса (00001 и 00002) return *this возвращает новые значения, 1 и 11?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru