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

Адрес объекта. - C++

Восстановить пароль Регистрация
 
ogcjm124
2 / 2 / 0
Регистрация: 31.07.2011
Сообщений: 143
15.12.2011, 20:41     Адрес объекта. #1
Есть класс.В котором при вызове конструктора выводится адрес объекта.
C++
1
  cout << "Hello from object: " << this << endl;
Надо теперь сделать вывод в окно.Не получается сделать преобразование типов:
C++
1
MessageBoxA(NULL,(LPCSTR)this,"Hello from",MB_OK);
Вы могли бы подсказать в чём ошибка?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.12.2011, 20:42     Адрес объекта. #2
Цитата Сообщение от ogcjm124 Посмотреть сообщение
(LPCSTR)this
в том что вы один указатель преобразовываете к другому указателю и получается фигня
ogcjm124
2 / 2 / 0
Регистрация: 31.07.2011
Сообщений: 143
15.12.2011, 20:45  [ТС]     Адрес объекта. #3
Я правильно вас понял,что лучше всего сначала преобразовать адрес в символьную строку или есть более изощренные методы?
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.12.2011, 20:48     Адрес объекта. #4
Цитата Сообщение от ogcjm124 Посмотреть сообщение
Я правильно вас понял,что лучше всего сначала преобразовать адрес в символьную строку
именно
ogcjm124
2 / 2 / 0
Регистрация: 31.07.2011
Сообщений: 143
15.12.2011, 20:52  [ТС]     Адрес объекта. #5
Вот сделал так,посмотрите это правильно?
C++
1
2
3
4
                      char *str=new char;
        int a;
        a=(int)this;
        itoa(a,str,16);
ogcjm124
2 / 2 / 0
Регистрация: 31.07.2011
Сообщений: 143
15.12.2011, 21:01  [ТС]     Адрес объекта. #6
delete str?
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
15.12.2011, 21:02     Адрес объекта. #7
Цитата Сообщение от ogcjm124 Посмотреть сообщение
delete str?
Обязательно, тогда, когда уже вам не понадобиться str.
Только правильнее:
delete []str;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2011, 21:12     Адрес объекта.
Еще ссылки по теме:

C++ Вставка asm, адрес члена локального объекта
Указатель на объект базового класса и адрес объекта производного класса C++
Как передать адрес объекта через функцию C++

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

Или воспользуйтесь поиском по форуму:
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
15.12.2011, 21:12     Адрес объекта. #8
ну создавать динамический массив - это извращение для такой задачи. кстати, сейчас выделяется не массив а просто один чар. проще для таких случаев на стеке массив символов заводить.

C++
1
2
char buffer[32] = {0};
itoa((int)this, buffer, 16);
Yandex
Объявления
15.12.2011, 21:12     Адрес объекта.
Ответ Создать тему
Опции темы

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