Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

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

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

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

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

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

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

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

5
Tulosba
:)
Эксперт С++
4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
08.02.2014, 16:03 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Наследование так не работает, как вы описываете. Если есть объект базового класса, то это уже готовый самостоятельный объект. Он не может быть использован как базовая часть производного класса.
1
castaway
Эксперт С++
4924 / 3032 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
08.02.2014, 16:20 #3
Работа с объектом - прерогатива run-time, формирование объектов - compile-time.
Ответ на вопрос (если он был задан правильно): нет.
0
zss
Модератор
Эксперт С++
6883 / 6445 / 2155
Регистрация: 18.12.2011
Сообщений: 16,938
Завершенные тесты: 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
Модератор
Эксперт С++
6883 / 6445 / 2155
Регистрация: 18.12.2011
Сообщений: 16,938
Завершенные тесты: 1
09.02.2014, 20:59 #6
Отличий пока не вижу.
Единственный нюанс, если в готовом базовом классе
(который Вы, естественно, изменить не можете)защищенные данные описаны
с типом private, то производный класс не будет иметь к ним доступа.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2014, 20:59
Привет! Вот еще темы с ответами:

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

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

как сделать чтобы объект производного класса сам себя добавлял в список или массив указателей базового класса? - C++
я хотел так, но программа просто падает void Student::add(Base** head) { cout << "I here" << endl; this->setName(); //все...

Создание статической функции класса, которая принимает экземпляр этого же класса как объект - C++
Привет. Есть такой код class Model { public: Model(); Model(int verticesSize, int facesSize); ~Model(); static void...


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

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

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