| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > class employee |
| Автор: observateur 15.11.2006, 21:51 | ||
вопрос такой.... а вообшето просба ....почему у меня выходит ошибка? |
| Автор: Sartorius 15.11.2006, 22:13 |
| Где?Какая? |
| Автор: Rockie 15.11.2006, 22:14 | ||
observateur,
|
| Автор: observateur 16.11.2006, 05:36 |
не понял Добавлено @ 05:39 по моему у меня проблема по ввода- вывода (в файлах).... |
| Автор: JackYF 16.11.2006, 14:04 |
| observateur, выражайся поконкретнее - какая ошибка. Мы ж не телепаты. |
| Автор: Oleg_Ci 16.11.2006, 15:21 | ||
|
| Автор: EvgenZ 16.11.2006, 15:37 |
| Олег4, а какая разница? |
| Автор: JackYF 16.11.2006, 15:48 |
Как минимум, не очень красиво... А вообще лучше using namespace std убрать..., если не лабораторка |
| Автор: EvgenZ 16.11.2006, 15:52 |
| Я в смысле работоспособности... помоему это вообще никак не влияет и вот решил просветиться... подумал может я чего не так понимаю... Насколько я знаю эта деректива начинает действовать с той строки где она объявлена, а в приведенном примере она ни на что влиять не должна. |
| Автор: Earnest 16.11.2006, 18:49 |
| observateur, хочешь, чтобы тебе помогли - покажи, где и какая ошибка "выходит". |
| Автор: JackYF 16.11.2006, 18:50 |
| У меня все работает: добавил, записал, считал, посмотрел - все то. Ты его туда перед считыванием записал? |
| Автор: observateur 16.11.2006, 19:28 |
| 1. запускаю программу 2. нажимаю «а» 3. потом “м” 4. добавляю туда работника 5. “w” // добавит в файл 6. “r” // читать из файла 7. “d” // выводить на экран 8. еще раз “a” 9. “s” 10. добавляю туда работника 11. “w” // добавит в файл 12. “r” // читать из файла 13. и вот ошибка |
| Автор: JackYF 16.11.2006, 20:50 | ||
Ага, ну так с этого надо было начинать! Сейчас посмотрим.... Добавлено @ 20:55 Для начала сделай деструктор виртуальным... Перегрузка все-таки, и виртуальные функции. Добавлено @ 21:00 А потом, я никак не могу понять, зачем ты в классе employee объявлил массив employee? Почему не объявить его в main()? Если хочешь контейнер - сделай класс employee, а потом employeeHolder. Зачем все в одну кучу? Сложновато с таким кодом работать, если честно... ИМХО. |
| Автор: Frosty23 16.11.2006, 21:27 | ||
Неправильно организовано чтение, в нем по факту у тя предполагаеться, что память под объекты, которые ты читаешь, уже выделена.
|
| Автор: observateur 16.11.2006, 21:47 | ||
Дело в том что я сейчас только изучаю файловый ввод/вывод, у меня один пример и тщательно изучаю его. Пример такой….
потом там написано :” Мы умеем определять класс объекта, находящегося в памяти, но как узнать класс объекта, если мы собираемся читать его из файла? Поэтому при записи данных на диск необходимо записывать код (перечисляемую переменную типа employee_type) прямо перед данными объекта. До начала чтения из файла надо прочитать его значение и создать объект соответствующего типа. И только после этого можно копировать данные из файла в этот новый объект. ” мне интересно узнать если определит sizeof(employee) все байты равны, если равны значит все байты совпадают. Тогда почему нам определит класс объекта…….. |
| Автор: JackYF 16.11.2006, 22:02 |
| А ты ставь специальную меточку, типа там 0,1,2 - определенные константы по одной для каждого типа перед, собственно, телом... |
| Автор: observateur 16.11.2006, 22:13 | ||||
я с тобою согласен и я не хочу сказать что прог которая была в книге не верно...нет.... я просто хочу понять
а помоему FROSTY23 говорит правду....ну это я завтра проверю....спать хочется....и спасибо всем ....посторалис ответит мне....je regrete pour ma Russe... |