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

Как передать в метод класса ссылку на экземпляр - C++

Восстановить пароль Регистрация
 
KobaEugeneA
5 / 5 / 0
Регистрация: 16.01.2011
Сообщений: 166
13.04.2014, 16:12     Как передать в метод класса ссылку на экземпляр #1
Есть класс
C++
1
class Class{ ... }
Как передать в метод экземплер класса из которого вызывается этот метод? Пробывал так:
C++
1
2
3
4
5
6
7
class Class{
   ...
   method(Class a = this){
      ...
   }
...
}
но g++ выдаёт ошибку: error: ‘this’ may not be used in this context. Как всё же можно это сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2014, 16:12     Как передать в метод класса ссылку на экземпляр
Посмотрите здесь:

Как передать метод класса в качестве параметра функции C++
C++ Можно ли получить ссылку на экземпляр класса по полю этого экземпляра
Как передать функции через метод класса C++
Передать метод класса как параметр C++
C++ Как построить экземпляр дочернего класса на основе готового экземпляра базового класса?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11819 / 6798 / 769
Регистрация: 27.09.2012
Сообщений: 16,870
Записей в блоге: 2
Завершенные тесты: 1
13.04.2014, 16:15     Как передать в метод класса ссылку на экземпляр #2
Эммммм, а зачем это нужно, если и так передается указатель?

Добавлено через 58 секунд
C++
1
2
3
   method(){
      Class & thisRef = *this ;
   }
KobaEugeneA
5 / 5 / 0
Регистрация: 16.01.2011
Сообщений: 166
14.04.2014, 09:17  [ТС]     Как передать в метод класса ссылку на экземпляр #3
Там рекрусивный метод. Надо чтобы по умолчанию при первом вызове передавлся именно так, иначе если я буду внутри метода вызывать, то он при каждом вызове будет приравниваться this, а мне этого не надо.
Ещё хотел поинтересоваться, что означает & перед thisRef? Разве это не оператор взятия ссылки?
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
14.04.2014, 09:19     Как передать в метод класса ссылку на экземпляр #4
Цитата Сообщение от KobaEugeneA Посмотреть сообщение
Разве это не оператор взятия ссылки?
такой есть?)
это инициализация переменной типа ссылка на Class с именем thisRef значением *this
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
14.04.2014, 16:47     Как передать в метод класса ссылку на экземпляр #5
Цитата Сообщение от KobaEugeneA Посмотреть сообщение
Там рекрусивный метод. Надо чтобы по умолчанию при первом вызове передавлся именно так, иначе если я буду внутри метода вызывать, то он при каждом вызове будет приравниваться this, а мне этого не надо.
Что-то это вообще не объясняет цели.
Yandex
Объявления
14.04.2014, 16:47     Как передать в метод класса ссылку на экземпляр
Ответ Создать тему
Опции темы

Текущее время: 14:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru