0 / 0 / 0
Регистрация: 21.05.2010
Сообщений: 8
|
|
1 | |
копирующий конструктор и иерархия21.05.2010, 22:23. Показов 3720. Ответов 7
Метки нет (Все метки)
Создать иерархию типов, описывающую - студента, отца семейства и студента-отца семейства. Классы должны конструкторы, включая конструктор копирования, виртуальные деструкторы, перегруженные функции вывода в поток и ввода в поток.
т.е. программа как я понимаю будет типа class Father {public: father(string name, int childnumb)} class student {public: student(string name, int curs)} class father-student: public student, public father {public: student-father: father, student} Получается что у отца-студента 2 имени и это видимо решается с помощью копирующего конструктора. Напишите пожалуйста как именно, не или примерчик какой похожий, а то везде про копирующий конструктор один и тотже пример с массивом (
0
|
21.05.2010, 22:23 | |
Ответы с готовыми решениями:
7
Копирующий конструктор Копирующий конструктор Копирующий конструктор копирующий конструктор !!! |
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
||||||
21.05.2010, 23:00 | 2 | |||||
Ну а если надо, чтобы было одно имя на двоих, надо сделать виртуальное наследование - и Father, и Student виртуально наследуют от некоего класса, обеспечивающего хранение имени.
1
|
0 / 0 / 0
Регистрация: 21.05.2010
Сообщений: 8
|
|
21.05.2010, 23:28 [ТС] | 3 |
т.е. Father(const std::string &name, int childnum);FatherStudent(const std::string &name, int curs, int childnum)-это все копирующие конструкторы? т.е. в копирующем конструкторах просто ссылка на один и тотже обьект? Заранее благодорю ) в мануале такого нету почемуто (
0
|
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|||||||||||
22.05.2010, 09:44 | 4 | ||||||||||
Это не копирующие конструкторы, они и не нужны. Копирующий конструктор извлекает данные из объекта того же самого класса. То есть, такие конструкторы были бы описаны так:
0
|
0 / 0 / 0
Регистрация: 21.05.2010
Сообщений: 8
|
|
22.05.2010, 13:09 [ТС] | 5 |
Там же переменные еще в private поидее, типа int numb=childnumb; string str = name;
но потом в main() что я неправильно делаю? И посоветуйте книгу пожалуйста по этой теме.
0
|
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
22.05.2010, 19:54 | 6 |
Ну что касается книги, то надо взять Страуструпа в обязательном порядке. Ну и ещё каких-нибудь спецов хороших. Например, Стенли Липпман.
А вот вопрос я что-то совершенно не понял. По отдельности слова знакомые, а в такой комбинации как-то не могу выделить из них смысл...
0
|
0 / 0 / 0
Регистрация: 21.05.2010
Сообщений: 8
|
||||||
22.05.2010, 20:39 [ТС] | 7 | |||||
Ну первый пример, который вы давали, там вот так вот должно быть?
0
|
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
||||||
22.05.2010, 23:07 | 8 | |||||
Нет, не совсем так. В конструкторе надо использовать инициализаторы, а конструктор по умолчанию надо оставлять только тогда, когда он для чего-то необходим.
0
|
22.05.2010, 23:07 | |
22.05.2010, 23:07 | |
Помогаю со студенческими работами здесь
8
Копирующий конструктор Закрытый копирующий конструктор Копирующий конструктор абстрактного класа Когда в классе нужен копирующий конструктор? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |