Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с масивом Всем доброго времени суток! В общем вот задача: есть таблица с 4-мя полями,(номер, наименование, тип, кол-во) последнее заполнено целочисленными значениями. Табличка или вводится вручную или из... https://www.cyberforum.ru/ cpp-beginners/ thread169850.html Вывод результата в дочернем потоке C++
Имеется программа которая вычисляет три суммы для i, j, k. Программа разбита на два потока. Главный и дочерний. Нужно вывести результат вычислений в главном потоке. Посмотрите пожалуйста код,...
C++ Недопустимые локальные определения функций Вот почитал еще немного литературы и решил попробовать написать прогу. #include <iostream> #include <string.h> #include <iostream> int main(){ setlocale(LC_ALL,"Russian"); class Subd{... https://www.cyberforum.ru/ cpp-beginners/ thread169830.html C++ Выделение памяти https://www.cyberforum.ru/ cpp-beginners/ thread169819.html
Эта программа должна забрать у системы 10 МБ, но диспетчер задач показывает, что программа забирает 163 МБ. Почему ? #include<iostream> using namespace std; int main() { cin.get();...
Переделать программу с использованием классов C++
вообщем я решил перебить свою задачу и предыдущей моей темы под классы. оригинальная прога #include <iostream> #define maxn 1000 using namespace std; typedef struct { int dh,dt;
C++ Выяснить, входит ли цифра 3 в запись числа n2 https://www.cyberforum.ru/ cpp-beginners/ thread169799.html
Дано натуральное число n. Выяснить, входит ли цифра 3 в запись числа n2. Помогите написать программу
C++ Как сложить два числа как сложить два числа в с++ https://www.cyberforum.ru/ cpp-beginners/ thread169794.html Принадлежит ли начало координат треугольнику с вершинами C++
Даны действительные числа x1, x2, x3, y1, y2, y3. Принадлежит ли начало координат треугольнику с вершинами (x1, y1), (x2, y2), (x3, y3)? #include <iostream> int main() { float...
C++ Найдите ошибку https://www.cyberforum.ru/ cpp-beginners/ thread169789.html
Даны действительные числа x1, x2, x3, y1, y2, y3. Принадлежит ли начало координат треугольнику с вершинами (x1, y1), (x2, y2), (x3, y3)? Проверьте пожалуйста код...какие б значения я не вводила...
C++ Как будут звучать по англицки названия функций си??? Подскажите пожалуйста линки или приведите пару хотяб примеров таких названий! например strcpy() = string copy. https://www.cyberforum.ru/ cpp-beginners/ thread169752.html
C++ неработает программа
// 2.cpp : main project file. #include "stdafx.h" #include <iostream> using namespace std; int main() { int i, j, n;
C++ Использование структур, массивов и функций Согласно тексту задачи помогите пожалуйста создайть программу с использованием структур, массивов и функций. Задача «Погода» Есть несколько типов дней (солнечный, пасмурный, холодный). Каждый... https://www.cyberforum.ru/ cpp-beginners/ thread169714.html
Эксперт С++
1667 / 1039 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
27.09.2010, 19:20 0

Что такое This и с чем его едят - C++ - Ответ 987529

27.09.2010, 19:20. Показов 6544. Ответов 7
Метки (Все метки)

Ответ

this - неявный параметр в методах. При вызове метода на каком-то объекте адрес этого объекта неявно передаётся в функцию, чтобы можно было ссылаться на этот самый объект. Прямое обращение к членам класса - это просто более удобный способ не писать this-> по всему тексту. Простейший пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class MyClass{
public:
    void Foo() {a = 0;}
    void Bar() const {std::cout << a;}
private:
    int a;
};
 
void SomeFunc()
{
    MyClass c;
    c.Foo();
    c.Bar();
}
аналогичен такой записи:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
struct MyClass{
    int a;
};
 
void MyClass_Foo(MyClass * const This)
{
    This->a = 0;
}
 
void MyClass_Bar(const MyClass * const This)
{
    std::cout << This->a;
}
 
void SomeFunc()
{
    MyClass c;
    MyClass_Foo(&c);
    MyClass_Bar(&c);
}


Вернуться к обсуждению:
Что такое This и с чем его едят C++
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2010, 19:20
Готовые ответы и решения:

что такое Qt, и с чем его едят?
Здравствуйте, я бы хотел узнать что такое Qt, и как на нем программировать, я слышал что это...

Что такое istream и с чем его едят?
здравствуйте. у меня такой вопрос , делаем лабы с перечислениями и структурами и в них появилось...

Что такое assoc и с чем его едят?
Объясните, пожаалуйста)

Модуль: что такое и с чем его едят?
есть задание: что есть модуль, как он создается и как подключается? предполагаю, что это...

7
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.09.2010, 19:20

Что такое Класс, и с чем его едят?
собственно это я бы и хотел знать. попытался воспринять самостоятельно - не получилось. прошу,...

Объясните что такое массив объединений и с чем его едят
Написать программу удаления заданного числового значения из массива объединений. Объясните что...

Класс-контейнер? Что это такое и с чем его «едят»?
Вечер добрый, столкнулся со следующей проблемой, в общем, есть задание: Создать класс-контейнер,...

Нюансы использования оператора запятая или что такое UB и с чем его едят
Почему студия и ideone выдают разные значения для a и b? в студии выходит a = 10 , b = 10 в...

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