Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
hepr
61 / 33 / 5
Регистрация: 21.10.2010
Сообщений: 538
#1

Castы. Как преобразовать объект. - C++

03.04.2012, 16:46. Просмотров 330. Ответов 4
Метки нет (Все метки)

Здравствуйте, скажем у меня есть 2 класса:
C++
1
2
class a;
class b : public a;
И такой код
C++
1
a *object = new b;
Как лучше преобразовать этот объект обратно в класс а:
с помощью static_cast или dynamic_cast ?
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2012, 16:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Castы. Как преобразовать объект. (C++):

Как преобразовать объект string в строку char*? - C++
Доброго времени суток! Недавно я писал код, и обнаружил, что в качестве имя файла при объявлении объектов ifstream/ofstream нельзя...

Недопустимый неполный тип , или как передать в функцию указатель на объект класса , или просто объект - C++
Други мои , кодеры. Не могу я ни как передать в функцию объект класса , или что еще лучше(для меня , так как учусь работать с указателями)...

Что значит константный указатель на объект, указатель на константный объект, и как это можно использовать? - C++
Подскажите, что значит константный указатель на объект, указатель на константный объект, и как это можно использовать??

Может ли объект-член, или объект-элемент достучаться к содержащему его? - C++
Предположим, class A { ... }; class B { .... A a; ... };

интерфейс, в методе которого создается объект типа IDictionary и возвращается ссылка на этот объект - C++
Привет всем. Необходимо реализовать интерфейс, в методе которого создается объект типа IDictionary и возвращается ссылка на этот объект. Не...

Основы: указатель на объект или объект, что выбрать? - C++
Не до конца понимаю (или вообще не понимаю) когда лучше использовать указатель на объект, а когда объект. Например: // есть класс ...

4
Gepar
1180 / 536 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
03.04.2012, 16:48 #2
Цитата Сообщение от hepr Посмотреть сообщение
Как лучше преобразовать этот объект обратно в класс а:
с помощью static_cast или dynamic_cast ?
А как хотите. static преобразовывает "жестко" и за результат не отвечает, dynamic преобразовывает не так жестко и если преобразование невозможно то указатель будет = NULL на что можно потом и проверить чтобы узнать удалось ли преобразование.
Обычно испльзуют dynamic.
1
ForEveR
В астрале
Эксперт С++
7988 / 4747 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
03.04.2012, 16:53 #3
Gepar, Мм.. dynamic преобразовывает в runtime.
2
Toshkarik
1148 / 865 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
03.04.2012, 19:04 #4
Вот небольшая статья на эту тема. тык
1
Gepar
03.04.2012, 21:00     Castы. Как преобразовать объект.
  #5

Не по теме:

ForEveR, ага, о главном и забыл написать, ну да название намекает когда именно происходит каждое преобразование

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2012, 21:00
Привет! Вот еще темы с ответами:

компилятор считает объект l-value, но объект таковым не является - C++
итак есть базовый абстрактный класс Дерево, есть два его наследника Плодовое Дерево и Лесное Дерево. Также существует класс Контейнер...

Указатель объект на объект (фикс ошибки) - C++
/*Есть некий объект ObjectOne который содержит в private: такую строку*/ ObjectTwo *obj = new ObjectTwo(); /*При выводе на экран...

при вызове конструктора присваивания надо возвращать ссыль на объект или сам объект. Смысл? Значения нужных полей меняютмся и без этого! - C++
Друзья! Обнаружил пробел в знаниях. Собсно, вопрос в теме. Дополню лишь: поля объекта меняются на нужные значения и безо всякого возврата...

Как распознать объект? - C++
Имеется каталог картинок (папка с картинками). Размеры картинок (высота, ширина) одинаковые. Картинки появляются на экране. Нужно найти...


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

Или воспользуйтесь поиском по форуму:
5
03.04.2012, 21:00
Ответ Создать тему
Опции темы

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