Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
SaShka K
3 / 3 / 0
Регистрация: 16.01.2014
Сообщений: 55
#1

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

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

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

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

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

Создание нового экземпляра дочернего класса из экземпляра базового
Всем привет! Извиняюсь, если вопрос глупый, но что-то не смог найти конкретный...

Перегрузка оператора >> для дочернего класса от базового виртуального класса
Доброго вам времени суток! Программирую на С++ не давно, в связи с отсутствием...

Создание указателя типа базового класса на экземпляр производного класса
Добрый день! Иногда видел коды, где создавался указатель типа базового класса...

Создать экземпляр класса по ссылке экземпляра класса
Есть класс для обработки клиентов // Абстрактный class ClientProcessing { ...

Сложение экземпляра базового класса и экземпляра наследника
Добрый вечер! Моя задача - сложить экземпляр базового класса и наследника....

5
Tulosba
:)
Эксперт С++
4747 / 3241 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
08.02.2014, 16:03 #2
Лучший ответ Сообщение было отмечено SaShka K как решение

Решение

Наследование так не работает, как вы описываете. Если есть объект базового класса, то это уже готовый самостоятельный объект. Он не может быть использован как базовая часть производного класса.
1
castaway
Эксперт С++
4927 / 3034 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
08.02.2014, 16:20 #3
Работа с объектом - прерогатива run-time, формирование объектов - compile-time.
Ответ на вопрос (если он был задан правильно): нет.
0
zss
Модератор
Эксперт С++
6989 / 6551 / 4154
Регистрация: 18.12.2011
Сообщений: 17,287
Завершенные тесты: 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;// пользуемся тем, что добавили.
}
0
SaShka K
3 / 3 / 0
Регистрация: 16.01.2014
Сообщений: 55
09.02.2014, 20:06  [ТС] #5
(к ZSS)
Это мне понятно. Я хотел взять готовый экземпляр базового класса и на нём достроить экземпляр дочернего.
Простите, возможно я не вполне корректно сформулировал вопрос, но это разъяснение во втором абзаце постановки.
0
zss
Модератор
Эксперт С++
6989 / 6551 / 4154
Регистрация: 18.12.2011
Сообщений: 17,287
Завершенные тесты: 1
09.02.2014, 20:59 #6
Отличий пока не вижу.
Единственный нюанс, если в готовом базовом классе
(который Вы, естественно, изменить не можете)защищенные данные описаны
с типом private, то производный класс не будет иметь к ним доступа.
0
09.02.2014, 20:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2014, 20:59

Можно ли получить ссылку на экземпляр класса по полю этого экземпляра
схематично код такой - class A { static void staticMethodA(SomeClass*...

класс наследник на основе базового класса
-----

Как сложить объект базового класса с объектом производного(наследуемого класса)
Как умножить объект базового класса с объектом производного(наследуемого...


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

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

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