| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > доступность классов |
| Автор: fuckingniger 24.10.2010, 19:12 | ||||||||||||
main:
class company:
class worker:
просто куча ошибок выдаётся - эти классы как будто друг друга не видят и ещё не нравится передача последнего аргумента классу worker например
вот например не понимаю что ему company не нравится |
| Автор: fuckingniger 24.10.2010, 19:43 |
| люди, человеки помогите пожалуйста! |
| Автор: mes 24.10.2010, 19:48 |
рекурсивное включение.. читайте про forward declaration.. |
| Автор: fuckingniger 24.10.2010, 19:53 |
| ого ...а я думал обертывание рулит... может поможете, скаав что сделать - просто срочно надо сделать |
| Автор: mes 24.10.2010, 19:56 |
| в worker.h убрать #include "company.h" и дописать объявление класса : class company; |
| Автор: fuckingniger 24.10.2010, 20:06 | ||||||
в worker.cpp
ругается на это такими словами:
Добавлено через 1 минуту и 39 секунд worker.h теперь такой
|
| Автор: mes 24.10.2010, 20:08 |
главное чтоб хидеры рекурсивно друг друга не включали |
| Автор: fuckingniger 24.10.2010, 20:27 | ||||
ага ...спасибо ...количество ошибок значительно уменьшилось только в 1 из потомков появилась ещё интересная ошибка
в конструкторе
и ещё 2 там ошибочки осталось .... |
| Автор: mes 24.10.2010, 20:57 |
у вас в этом .cpp стоит #include "company" ? вы передаете company как значение, а значит работаете внутри функции (конструктора) уже с копией а не оригиналом.. |
| Автор: fuckingniger 24.10.2010, 21:16 |
| поставил по ссылке и всё хорошо стало ... mes ты меня просто спас! Добавлено через 8 минут и 56 секунд только осталась 1 проблема ....у меня вот как наследование идёт worker / \ worker_with_base worker_procent_of_sum \ / worker_procent_plus_base и из-за этого 2 раза в конструкторе worker_procent_plus_base инициализируются некоторые данные ..... но это ерунда кроме того что там делается с объектом класса company не знаю даже как избавиться от этого ....прописывать отдельный конструктор в во всех предках не хочется как-то |
| Автор: djamshud 24.10.2010, 21:45 |
| Виртуальное наследование спасет компанию и Национального Лидера! Добавлено через 46 секунд Хм. Там рабочий.. И с чего это мне привиделась компания?) |
| Автор: fuckingniger 24.10.2010, 21:51 | ||||
его нельзя использовать) (ну в общем я и не умею пока))
О чём это?) |
| Автор: mes 24.10.2010, 22:58 |
ну чтоб использовать его, многого знать ненужно : class D : public virtual Base; а вот нужно ли ?! глядя на схему возникает явное впечатление, о неправильности композиции.. но как я понял у вас времени на переделку не осталось... |
| Автор: fuckingniger 24.10.2010, 23:23 |
| mes да,но думаю прокатит, потому, что просто надо показать что в программе используется простое и множественное наследование .... |
| Автор: djamshud 25.10.2010, 11:22 | ||
fuckingniger, так это у вас не просто множественное наследование. Может быть достаточно продемонстрировать что-нибудь без сведения нескольких веток наследования в один класс? Сделать просто:
|
| Автор: fuckingniger 25.10.2010, 20:19 |
| ну это лаба всё-таки .... постараться надо ) |
| Автор: mes 25.10.2010, 23:35 |
не понятно о чем тут... но в продолжении мысли djamshut`a добавлю, отделите котлеты от мух, точнее рабочих от способа расчета зарплаты, и потом миксуйте их вместе.. будет Вам и удобство и множественное наследование |