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

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

Войти
Регистрация
Восстановить пароль
 
Stenl1
3 / 3 / 1
Регистрация: 01.12.2009
Сообщений: 238
#1

Прокоментируйте пару строк - C++

13.07.2011, 20:28. Просмотров 551. Ответов 10
Метки нет (Все метки)

C++
1
2
3
4
5
bool operator!=(const String &right) const
{
    return !( *this == right ); //Что в этом случае возвращает return
                                //и как  вообще работает *this 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2011, 20:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прокоментируйте пару строк (C++):

Объяснить пару строк! - C++
Вот есть калькулятор: #include <iostream> #include <conio.h> #include <stdlib.h> using namespace std; int main () {...

Проверьте листинг (пару строк) - C++
Почему из-за || ',' ничего не копирует а если оставить только if(str1=='$') то все нормально? И кто предложит лучший алгоритм по...

пару строк кода с Delphi на C++ - C++
Здравствуйте! Есть код на Delphi, его нужно переписать на C++ Вот этот цикл: while length(c)>1 do begin for i:=1 to length(c) do...

Объяснить пару строк кода - C++
Доброго времени суток. Есть код #include <iostream> #include <windows.h> using namespace std; //образец стека template...

Разъясните пожалуйста пару строк кода - C++
Программа 1: #include <iostream> #include <cstdio> #include <cstring> using namespace std; int main() { char...

ДОБАВЬТЕ пару строк в код программы - C++
Если читаешь этот код, то добавь пару строк от себя.:friends: //tili-tili.cpp; trali-vali.cpp #include <iostream> using namespace...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
13.07.2011, 20:31 #2
Цитата Сообщение от Stenl1 Посмотреть сообщение
//Что в этом случае возвращает return
булево значение - true/false

Цитата Сообщение от Stenl1 Посмотреть сообщение
//и как вообще работает *this
учебник открой
0
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
13.07.2011, 20:36 #3
Stenl1,

Цитата Сообщение от Stenl1 Посмотреть сообщение
как *вообще работает *this
this - специальный указатель, который автоматом передается любому методу при его вызове и указывает на объект, инициирующий данный вызов. Ничего собственно сложного
0
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
13.07.2011, 20:39 #4
Цитата Сообщение от nameless Посмотреть сообщение
this - специальный указатель, который автоматом передается любому методу
Забыли про static методы.
0
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
13.07.2011, 20:42 #5
Цитата Сообщение от asics Посмотреть сообщение
Забыли про static методы.
Верно, спасибо, что поправили.
0
Stenl1
3 / 3 / 1
Регистрация: 01.12.2009
Сообщений: 238
13.07.2011, 21:20  [ТС] #6
this - специальный указатель, который автоматом передается любому методу при его вызове и указывает на объект, инициирующий данный вызов.
Какому методу в данном случае?
0
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
13.07.2011, 21:24 #7
Stenl1, А это разве не очевидно? Извилины хоть немного напрягите.
0
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
13.07.2011, 22:17 #8
//Что в этом случае возвращает return
Сравниваются два объекта типа String(очевидно), и возвращается противоположный проверке на равенство результат. Т.е. оператор "не равно" реализован через оператор "равно"
//и как вообще работает *this
this это указатель на вызывающий объект.
Например:
C++
1
2
3
String s1 = "abc";
String s2 = "123";
if(s1 != s2) ... // s1 это и есть тот самый *this
чтобы было более понятно можно записать последнюю строку в функциональной форме
C++
1
if(s1.operator!=(s2)) ... // s1 - *this, s2 - right
1
An1ka
65 / 70 / 2
Регистрация: 30.06.2011
Сообщений: 176
14.07.2011, 00:04 #9
Цитата Сообщение от Stenl1 Посмотреть сообщение
и как вообще работает *this
this - указатель на объект класса. Он передается, чтобы метод знал с каким объектом класса он работает(какой объект вызвал данный метод) в данном случае.
0
Stenl1
3 / 3 / 1
Регистрация: 01.12.2009
Сообщений: 238
14.07.2011, 06:53  [ТС] #10
какой объект вызвал данный метод
Я как понял operator !=
0
Maxim Prishchepa
Эксперт С++
1922 / 1034 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
14.07.2011, 16:22 #11
угу, только *this - в данном случае - это значение объекта, а не указатель на него.
т.е. this - указатель на объект класса, о котором идёт речь, а *this соответственно его значение.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2011, 16:22
Привет! Вот еще темы с ответами:

Поясните пожалуйста пару строк кода - C++
Доброго времени суток. Помогите пожалуйста "по научному" объяснить пару строчек кода, препода мое объяснение не устраивает(( ...

Написал программу на С++, надо переделать на С (пару строк!) - C++
Здравствуйте, пользователи форума! Я начал изучать программирование с языка С++, минуя С. Мне нужно исправить в исходном коде несколько...

Объясните доступным языком пару строк кода - C++
что обозначает подобный код: #include <iostream> #include <cstdlib> using namespace std; int** createInt(int m,int n) { ...

Создайте функцию, которая пару последовательных чисел Фибоначчи преобразует в следующую пару - C++
Создайте функцию, которая пару последовательных чисел Фибоначчи преобразует в следующую пару. Например, исходные данные: 1,2; результат:3,5


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.07.2011, 16:22
Ответ Создать тему
Опции темы

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