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

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

Войти
Регистрация
Восстановить пароль
 
SaShka K
3 / 3 / 0
Регистрация: 16.01.2014
Сообщений: 55
#1

Как построить экземпляр дочернего класса на основе готового экземпляра базового класса? - C++

08.02.2014, 15:58. Просмотров 544. Ответов 5
Метки нет (Все метки)

Если уже есть готовый объект базового класса. Могу я построить экземпляр дочернего на его основе, (напр., получив такой базовый объект параметром в конструкторе)? Или это уже называется иначе, чем "наследование"?

Пробую так сделать, но, единственное, реализация чего приходит в голову - это плодить копию базового объекта, в которую слизывать его поля, а ведь хотел не плодить копию, а достраивать УЖЕ ГОТОВЫЙ базовый объект. Т.е. чтобы базовый объект стал частью дочернего.

PS: я только учусь. Спасибо за терпение.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2014, 15:58     Как построить экземпляр дочернего класса на основе готового экземпляра базового класса?
Посмотрите здесь:

C++ Сложение экземпляра базового класса и экземпляра наследника
C++ Вызов метода класса без создания экземпляра класса.
C++ Как вызвать виртуальную функцию из дочернего класса, если она определена и вызывается в конструкторе РОДИТЕЛЬСКОГО класса?
C++ Можно ли получить ссылку на экземпляр класса по полю этого экземпляра
C++ Создать массив указателей базового класса и присвоить ему адреса каждого из екземпляров класса
Как сделать членом класса экземпляр этого же класса C++
класс наследник на основе базового класса C++
C++ Создание нового экземпляра дочернего класса из экземпляра базового
Передача свойства одного экземпляра класса другому экземпляру класса C++
Может ли метод родительского класса обратиться к полю дочернего класса C++
C++ Создать экземпляр класса по ссылке экземпляра класса
Инициализация членов дочернего класса членами класса родителя C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
08.02.2014, 16:03     Как построить экземпляр дочернего класса на основе готового экземпляра базового класса? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Наследование так не работает, как вы описываете. Если есть объект базового класса, то это уже готовый самостоятельный объект. Он не может быть использован как базовая часть производного класса.
castaway
Эксперт С++
4870 / 3009 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
08.02.2014, 16:20     Как построить экземпляр дочернего класса на основе готового экземпляра базового класса? #3
Работа с объектом - прерогатива run-time, формирование объектов - compile-time.
Ответ на вопрос (если он был задан правильно): нет.
zss
Модератор
Эксперт С++
 Аватар для zss
6124 / 5727 / 1852
Регистрация: 18.12.2011
Сообщений: 14,631
Завершенные тесты: 1
08.02.2014, 16:23     Как построить экземпляр дочернего класса на основе готового экземпляра базового класса? #4
Цитата Сообщение от SaShka K Посмотреть сообщение
Могу я построить экземпляр дочернего на его основе
Это делается так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Base
{
public:
int NumberfromBase;
};
class Pr:public Base
{
public:
int NumberFromPr;
};
int main()
{
   Pr XX;
   XX.NumberFromBase=1;// пользуемся всем, что есть в базовом классе
   XX.NumberFromPr=1;// пользуемся тем, что добавили.
}
SaShka K
3 / 3 / 0
Регистрация: 16.01.2014
Сообщений: 55
09.02.2014, 20:06  [ТС]     Как построить экземпляр дочернего класса на основе готового экземпляра базового класса? #5
(к ZSS)
Это мне понятно. Я хотел взять готовый экземпляр базового класса и на нём достроить экземпляр дочернего.
Простите, возможно я не вполне корректно сформулировал вопрос, но это разъяснение во втором абзаце постановки.
zss
Модератор
Эксперт С++
 Аватар для zss
6124 / 5727 / 1852
Регистрация: 18.12.2011
Сообщений: 14,631
Завершенные тесты: 1
09.02.2014, 20:59     Как построить экземпляр дочернего класса на основе готового экземпляра базового класса? #6
Отличий пока не вижу.
Единственный нюанс, если в готовом базовом классе
(который Вы, естественно, изменить не можете)защищенные данные описаны
с типом private, то производный класс не будет иметь к ним доступа.
Yandex
Объявления
09.02.2014, 20:59     Как построить экземпляр дочернего класса на основе готового экземпляра базового класса?
Ответ Создать тему
Опции темы

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