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

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

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

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

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

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

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

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

Как удалить базовый объект? - C++
Пишу под symbian, здесь Mbase вроде интерфейсов C#: class Mbase { virtual void foo1()=0; virtual void foo2()=0; virtual ...

Как быстро зарегистрировать COM-объект? - C++
Моя программа использует COM-объект, живущий в DLL. Создаёт через CoCreateInstance, всё нормально. Но если объект на этом компьютере ещё не...

Как передать объект в функцию - C++
Допустим у меня есть такой класс: class Abc { private: int a; public: void set_a(int A) { a = A;

Как называется такой объект? - C++
#include<iostream> using namespace std; class geometry { public: static double area(double h, double w) ...

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

Не по теме:

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

Yandex
Объявления
03.04.2012, 21:00     Castы. Как преобразовать объект.
Ответ Создать тему
Опции темы

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