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

Апгрейдить класс - C++

Восстановить пароль Регистрация
 
hepr
 Аватар для hepr
60 / 32 / 5
Регистрация: 21.10.2010
Сообщений: 538
27.03.2012, 09:56     Апгрейдить класс #1
Здравствуйте, есть, скажем, такой код:
C++
1
2
class A{};
class B : public A {};
Как можно апгрейдить объект класса A до объекта класса В, то есть у нас имеется:
A someObject;
как можно сделать из этого объекта полноценный объект класса В, и можно ли
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2012, 09:56     Апгрейдить класс
Посмотрите здесь:

C++ Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ...
Создать класс Pair(пара чисел) и класс-наследник Fraction C++
C++ Класс домов и класс улиц для учета поступлений квартплаты. Массив
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты. C++
C++ Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты
C++ Класс Quadrangle (четырехугольник). Класс хранит Декартовы координаты четырех углов четырехугольника
Подробно прокомментировать класс PolarCoordinates, представляющий собой класс координат точки на плоскости C++
C++ Ошибка в выводе данных, класс выводит правильно, а класс в классе - нет

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
27.03.2012, 10:39     Апгрейдить класс #2
C++
1
2
3
    A* a = new A;
 
    B* b = static_cast<B*>(a);
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,167
Завершенные тесты: 1
27.03.2012, 10:52     Апгрейдить класс #3
Цитата Сообщение от PointsEqual Посмотреть сообщение
C++
1
2
    A* a = new A;
    B* b = static_cast<B*>(a);
b в этом случае не будет содержать объектов,
имеющихся только в классе B.
Надо делать так
C++
1
    A* a = new B;
Тогда имеете полное право выполнять приведение типа.
Yandex
Объявления
27.03.2012, 10:52     Апгрейдить класс
Ответ Создать тему
Опции темы

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