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

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

Войти
Регистрация
Восстановить пароль
 
KobaEugeneA
5 / 5 / 0
Регистрация: 16.01.2011
Сообщений: 166
#1

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

13.04.2014, 16:12. Просмотров 421. Ответов 4
Метки нет (Все метки)

Есть класс
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++
C++ Написать метод, чтобы получить ссылку на строку - поле класса
C++ Как передать указатель на функцию через метод класса ?
Как передать нестатическое поле в статический метод класса? C++
C++ Компилятор требует конструктор, принимающий аргументом экземпляр того же класса (не ссылку)
C++ Не получается вызвать метод класса потомка через ссылку
Как сделать указатель/ссылку на метод конкретного экземпляра класса C++
C++ В std::function передать метод класса

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12890 / 7276 / 811
Регистрация: 27.09.2012
Сообщений: 17,975
Записей в блоге: 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
641 / 562 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
14.04.2014, 09:19     Как передать в метод класса ссылку на экземпляр #4
Цитата Сообщение от KobaEugeneA Посмотреть сообщение
Разве это не оператор взятия ссылки?
такой есть?)
это инициализация переменной типа ссылка на Class с именем thisRef значением *this
0x10
2456 / 1628 / 238
Регистрация: 24.11.2012
Сообщений: 4,003
14.04.2014, 16:47     Как передать в метод класса ссылку на экземпляр #5
Цитата Сообщение от KobaEugeneA Посмотреть сообщение
Там рекрусивный метод. Надо чтобы по умолчанию при первом вызове передавлся именно так, иначе если я буду внутри метода вызывать, то он при каждом вызове будет приравниваться this, а мне этого не надо.
Что-то это вообще не объясняет цели.
Yandex
Объявления
14.04.2014, 16:47     Как передать в метод класса ссылку на экземпляр
Ответ Создать тему
Опции темы

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