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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с масивом http://www.cyberforum.ru/cpp-beginners/thread169850.html
Всем доброго времени суток! В общем вот задача: есть таблица с 4-мя полями,(номер, наименование, тип, кол-во) последнее заполнено целочисленными значениями. Табличка или вводится вручную или из файла. Небходимо в обеспечить линейный и бинарный поиск по интервалу(границы вводит пользователь), а так же сортировку методом Шелла и шейкерную сортировку(это вроде пузырька, да??). помогите кто чем...
C++ Вывод результата в дочернем потоке Имеется программа которая вычисляет три суммы для i, j, k. Программа разбита на два потока. Главный и дочерний. Нужно вывести результат вычислений в главном потоке. Посмотрите пожалуйста код, правильно ли я сделал ? Нужно обязательно использовать семафоры при выводе результата в дочернем потоке. #include <iostream> #include <pthread.h> #include <semaphore.h> #include <conio.h> int S=0; int... http://www.cyberforum.ru/cpp-beginners/thread169843.html
C++ Недопустимые локальные определения функций
Вот почитал еще немного литературы и решил попробовать написать прогу. #include <iostream> #include <string.h> #include <iostream> int main(){ setlocale(LC_ALL,"Russian"); class Subd{ private:
Переделать программу с использованием классов C++
вообщем я решил перебить свою задачу и предыдущей моей темы под классы. оригинальная прога #include <iostream> #define maxn 1000 using namespace std; typedef struct { int dh,dt;
C++ Как сложить два числа http://www.cyberforum.ru/cpp-beginners/thread169794.html
как сложить два числа в с++
C++ Как будут звучать по англицки названия функций си??? Подскажите пожалуйста линки или приведите пару хотяб примеров таких названий! например strcpy() = string copy. подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1605 / 997 / 118
Регистрация: 27.09.2009
Сообщений: 1,923
Завершенные тесты: 1
27.09.2010, 19:20     Что такое This и с чем его едят
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);
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru