Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
Если так нужна гора глобальных переменных, что не есть хорошо ИМХО, можно запхнуть их в один класс обертку и сделать его синглтоном Добавлено спустя 46 секунд А вообще можно и без этого, в зависимости от того, какие задачи - можно подобрать необходимое проектное решение.
Member
Статус: Не в сети Регистрация: 12.12.2003 Откуда: Уфа
Сделал сейчас важный вывод для себя, после процедурного программирования, привычка к которому у меня выработалась(баловался паскалем, бейсиком, пхп) осваивать с++ на первых порах очень тяжело. Зато потом открывавется немерянная мощь языка! Добавлено спустя 6 минут, 11 секунд Есть 1 глупый вопрос: класс лежит в 2х файлах - объявление myclass.h и реализация myclass.cpp. В срр файле приложения подключается инклудом myclass.h, то есть только объявление класса, но в объявлении класса же нет ссылки на файл с реализацией, как компилятор подключает файл myclass.cpp?? Не пойму.
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
Цитата:
Есть 1 глупый вопрос: класс лежит в 2х файлах - объявление myclass.h и реализация myclass.cpp. В срр файле приложения подключается инклудом myclass.h, то есть только объявление класса, но в объявлении класса же нет ссылки на файл с реализацией, как компилятор подключает файл myclass.cpp?? Не пойму.
Компилятору не интересны твои h файлы, он компилирует только С++ файлы, которые подключены к проекту. Добавлено спустя 1 минуту, 9 секунд Подобная мощь свойственна не только С++
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
kexman писал(а):
Ну я думаю, что Дельфи или С-шарп ненамного уступают С++
Согласен.
kexman писал(а):
Есть 1 глупый вопрос: класс лежит в 2х файлах - объявление myclass.h и реализация myclass.cpp. В срр файле приложения подключается инклудом myclass.h, то есть только объявление класса, но в объявлении класса же нет ссылки на файл с реализацией, как компилятор подключает файл myclass.cpp?? Не пойму
А ты не заморачивайся. Просто используй Компилятор компилит отдельно инклюды и отдельно сам код. А находит по имени файла конечно!
Member
Статус: Не в сети Регистрация: 12.12.2003 Откуда: Уфа
Сидел ночью, дошел, почему глобальные переменные - зло с точки зрения ООП. Если их использовать, то тогда уже не получится безболезненно вытащить класс из одного проекта и сразу начать использовать его в другом.
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
Билли Бонс Ну ну. А что такое precompiled headres знаеш?
kexman писал(а):
Сидел ночью, дошел, почему глобальные переменные - зло с точки зрения ООП. Если их использовать, то тогда уже не получится безболезненно вытащить класс из одного проекта и сразу начать использовать его в другом
ООП не панацея. Использовать его надо с умом. Сколько раз я видел такой дикий ужас реализованный полностью на ООП, что плохо становилось!
Принимать данные лучше в отдельный массив, а потом копировать чем-то наподобии strcpy(или ещё лучше strncpy). Последний символ в каждой строке лучше держать нулём - пищать системный динамик будет меньше при выводе . Далее:
Код:
fwrite(&f,sizeof(worker),1,f_work);
Первый параметр это указатель на данные - у тебя f уже указатель, поэтому "&" не нужен. Хотя писать всю структуру целиком в файл не обязательно - зачем запоминать указатели?! Всё равно список создавать придётся заново при подгрузке. Поэтому имеет смысл писать только значащие данные. Далее чтобы облегчить себе жизнь желательно при сохранении в структуре данных дополнять каждую строку до максимума пробелами(или сразу нулями) и последним символом держать ноль(тут нужно подумать). Таким образом записанный список будет почти dbf-файлом(останентся только заголовок прилепить ) .
Чтение из фала проводить блоками, расставляя каждый кусок в соответсующее поле структуры.
зы: создание списка это отдельная песня - тут несколько страниц назад было много примеров.
Member
Статус: Не в сети Регистрация: 14.03.2004 Откуда: Москва
Ray Adams писал(а):
ООП не панацея.
Почти всегда... Но зависит от проекта.
kexman писал(а):
ГОФ я так и не понял о чем пишут, вообще не врубился в паттерны..
Могу книжеччку в желетроном варианте подбросить.. все хорошо разжовано. А вообще паттерны - это просто стратегии. и ничего больше
kexman писал(а):
почему глобальные переменные - зло с точки зрения ООП
Обычно это больше зло с точки зрения компилятора.
kexman писал(а):
после процедурного программирования, привычка к которому у меня выработалась(баловался паскалем, бейсиком, пхп) осваивать с++ на первых порах очень тяжело
А иногда и вообще не получается привыкнуть к ООП. От уровня мозга зависит
_________________ ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения