Russian Qt Forum
Ноябрь 23, 2024, 10:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 3 [4]   Вниз
  Печать  
Автор Тема: Объясните понятно, доступно и просто как для чайника про приведение типов.  (Прочитано 27501 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #45 : Март 11, 2012, 16:26 »

- скастить твой указатель обратно в B* просто динамиком все равно не получится)))
И правильно не получится - ведь объекта B не было создано.

Ладно, задачка для lolbla2 и др кто любит изучать экспериментируя (а не только книжки читать).
Кто знает - не подсказывать

Код
C++ (Qt)
...
B * pB = dynamc_cast <B *> (pA);
printf("pA = %p, pB = %p\n", pA, pB);
 
Придумать такие классы A и B, чтобы печатались разные ненулевые указатели
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #46 : Март 11, 2012, 17:30 »

а не только книжки читать
Это есть в любой книжке по с++ Улыбающийся
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #47 : Март 11, 2012, 17:37 »

Это есть в любой книжке по с++ Улыбающийся
А для начитанных есть темка чуть сложнее
http://www.prog.org.ru/index.php?topic=21228.msg145940#msg145940
Записан
lolbla2
Гость
« Ответ #48 : Март 12, 2012, 09:31 »

- скастить твой указатель обратно в B* просто динамиком все равно не получится)))
И правильно не получится - ведь объекта B не было создано.

Ладно, задачка для lolbla2 и др кто любит изучать экспериментируя (а не только книжки читать).
Кто знает - не подсказывать

Код
C++ (Qt)
...
B * pB = dynamc_cast <B *> (pA);
printf("pA = %p, pB = %p\n", pA, pB);
 
Придумать такие классы A и B, чтобы печатались разные ненулевые указатели


Изучать экспериментируя лучше всего ИМХО, потому что не всё что написано в книжке с первого раза получается на практике... да и к тому же приходится искать книжки где то что тебе нужно достаточно подробно и понятно написано
Записан
mutineer
Гость
« Ответ #49 : Март 12, 2012, 11:26 »

Изучать экспериментируя лучше всего ИМХО, потому что не всё что написано в книжке с первого раза получается на практике... да и к тому же приходится искать книжки где то что тебе нужно достаточно подробно и понятно написано

Ну давай, дерзай решать:)
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #50 : Март 12, 2012, 12:01 »

Изучать экспериментируя лучше всего ИМХО
Чего греха таить, все мы иногда так поступаем.
Просто не забывайте, что есть UB, которые могут по разному обрабатываться в зависимости от компилятора, ОС, их версий и настроек, а так же порой от погоды на Марсе. Подмигивающий 
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #51 : Март 12, 2012, 12:56 »

Чего греха таить, все мы иногда так поступаем.
Не вижу в этом никакого "греха"  Улыбающийся Не призываю игнорировать теорию, но все хорошо в меру.
Записан
lolbla2
Гость
« Ответ #52 : Март 12, 2012, 18:01 »

Изучать экспериментируя лучше всего ИМХО
Чего греха таить, все мы иногда так поступаем.
Просто не забывайте, что есть UB, которые могут по разному обрабатываться в зависимости от компилятора, ОС, их версий и настроек, а так же порой от погоды на Марсе. Подмигивающий 

UB - Undefined behaviour ?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #53 : Март 12, 2012, 18:33 »

UB - Undefined behaviour ?
Может быть и "Universal Binary" - запоминать все возможные аббревиатуры нет смысла. А что это Вы так к (конкретным) знаниям потянулись? Экспериментировать уже расхотелось?  Улыбающийся
Записан
mutineer
Гость
« Ответ #54 : Март 20, 2012, 21:10 »

lolbla2, так чаво с решением?
Записан
Страниц: 1 2 3 [4]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.096 секунд. Запросов: 23.