3 / 3 / 0
Регистрация: 16.01.2014
Сообщений: 55
1

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

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

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

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

PS: я только учусь. Спасибо за терпение.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2014, 15:58
Ответы с готовыми решениями:

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

Создание экземпляра класса-наследника для переменной с типом базового класса
Подскажите чайнику как создается экземпляр класса BC BaseClass BC = new DerivedClass(); ...

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

Список дочернего класса привести к списку базового класса
Детский вопрос, но все же. есть классы: class Base { public string str = "base"; ...

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

Решение

Наследование так не работает, как вы описываете. Если есть объект базового класса, то это уже готовый самостоятельный объект. Он не может быть использован как базовая часть производного класса.
1
Эксперт С++
4984 / 3091 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
08.02.2014, 16:20 3
Работа с объектом - прерогатива run-time, формирование объектов - compile-time.
Ответ на вопрос (если он был задан правильно): нет.
0
Модератор
Эксперт С++
13329 / 10631 / 6352
Регистрация: 18.12.2011
Сообщений: 28,388
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
3 / 3 / 0
Регистрация: 16.01.2014
Сообщений: 55
09.02.2014, 20:06  [ТС] 5
(к ZSS)
Это мне понятно. Я хотел взять готовый экземпляр базового класса и на нём достроить экземпляр дочернего.
Простите, возможно я не вполне корректно сформулировал вопрос, но это разъяснение во втором абзаце постановки.
0
Модератор
Эксперт С++
13329 / 10631 / 6352
Регистрация: 18.12.2011
Сообщений: 28,388
09.02.2014, 20:59 6
Отличий пока не вижу.
Единственный нюанс, если в готовом базовом классе
(который Вы, естественно, изменить не можете)защищенные данные описаны
с типом private, то производный класс не будет иметь к ним доступа.
0
09.02.2014, 20:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2014, 20:59
Помогаю со студенческими работами здесь

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

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

Создать экземпляр метода класса или доступ к методу из экземпляра класса
Всем доброго времени суток!) Уже месяца как 2 не сишарпил и подзабыл...собственно задача такая:...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru