| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Получение адреса класса |
| Автор: mant 30.6.2004, 01:45 |
| Здраствуйте. Такая проблема. Как получить адресс на класс в конструкторе? То есть конструктор должен давать по ссылке указатель на класс. Замучался... |
| Автор: Масяня 30.6.2004, 04:55 |
| Это делает - this |
| Автор: achmed 30.6.2004, 09:02 |
| в C++ нет адресов классов, есть только адреса обьектов. |
| Автор: mant 30.6.2004, 10:50 |
| Как конструктор который не может возвращать сможет передать this? Не присваивая this переменным класса |
| Автор: Peter 30.6.2004, 11:05 | ||
Оно? |
| Автор: Олег М 30.6.2004, 14:24 |
| mant объясни подоходчивее, что надо. В конструкторе указатель this уже определён - делай с ним что угодно, хоть удаляй |
| Автор: mant 1.7.2004, 00:40 |
| Вот как должно быть: class A{ ... public A(...); ... }; A::A(...){ ... } A pA(переменная в которую конструктор запишет this); Есть же хитрые методы. Наверно.. |
| Автор: Олег М 1.7.2004, 10:08 | ||||
Немного непонятно. Может так?
Передаёшь в конструктор ссылку на указатель и присваеваешь |
| Автор: Масяня 1.7.2004, 18:48 | ||||
Это можно сделать (вернуть this) через параметр конструктора, например,
|
| Автор: Конструктор 2.7.2004, 09:41 |
| Я кажется совсем тупой, но я в корне не понимаю зачем нужно получать из конструктора this, когда он и так выдатся конструктором. Напишем мы class * var = new class(); и var будет содержать этот самый this. Напишем class var; и &var даст нам тот же самый this. |
| Автор: Олег М 2.7.2004, 09:57 | ||
Ну это ежу понятно. А насчёт зачем - парень спрашивает - мы извращаемся |
| Автор: Конструктор 2.7.2004, 10:00 |
| Да, а я не понял. Далеко мне до ежей. |
| Автор: Олег М 2.7.2004, 11:07 | ||
Тоже что-ли вчера футбол смотрел? |
| Автор: Конструктор 2.7.2004, 11:37 |
| Да нет, я по жизни |
| Автор: achmed 2.7.2004, 12:43 |
| имхо mant сам не знает чего хочет, а если и знает, то не может обьяснить, mant, переменная this - это предопределенная, которая неявно передается каждому нестатическому методу класса, кстати она костантная, в вашем случае она имеет тип const A *, т.е. ее нельзя изменить. |