| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Вопрос по проектированию. |
| Автор: pablo 30.3.2005, 19:21 |
| Дорогие коллеги вот такая проблема возникла и меня: Появилась необходимость создания библиотеки потоков ввода вывода, т.е отделить форматированный ввод/вывод С++ от неформатированного подобно тому, как это сделанно в Яве. Как лучше сформировать библиотеку ? Т.е какую иерархию классов создавать, и какие методы описывать ? Заранее спасибо. |
| Автор: Олег М 30.3.2005, 19:41 | ||
|
| Автор: pablo 31.3.2005, 12:05 |
| А потому что cin/cout выводят форматированно, например целые числа и т.п так и неформатированно байты. В яве же для таких целей есть отдельные классы. |
| Автор: Hroft 31.3.2005, 12:12 |
| Ну сделай по две оболочки над cin и cout - одна для форматированного, другая нет... |
| Автор: pablo 31.3.2005, 12:18 |
| Проблема не в том как ето сделать, а как правильно спроетировать, т.е как правильно организовать библиотеку. Какие классы создавать как базовые, какие как конкретные и порождённые от базовых, и какие методы в них делать виртуальными. У меня есть парочка идей, но мне интересно ваше мнение. |
| Автор: Hroft 31.3.2005, 12:22 |
| А какова в Яве иерархия? Может, как там сделать? Может, например, в Бусте за тебя это сделано уже, не смотрел? А лично мое мнение такое - какая еще иерархия, если ты будешь пользовать УЖЕ СОЗДАННЫЕ ОБЪЕКТЫ cin и cout? Или не будешь? |
| Автор: np9mi7 31.3.2005, 12:23 |
| выкладывай идеи |
| Автор: Олег М 31.3.2005, 12:26 | ||
Задача форматированного вывода - преобразовать входные значения в какй-то формат, например, в строку. Потом результат выводится через обычный неформатированный вывод. Непонятно, зачем нужен класс для форматированного вывода. Класс можно сделать один, с различными методами. Что, собственно говоря и сделано. А у тебя какие идеи, интересно? |
| Автор: pablo 31.3.2005, 12:29 |
| Нет не буду. Втом то и трабла, что надо своё сделать. У меня идея вот какая: Создать свой класс FormatedStream и NotFormatedStream порожденные от базового класс Stream Создать и переопределить методы write i read и из классов FormatedStream и NotFormatedStream породить по FileFormatedStream и FileNotFormatedStream, MemoryFormatedStream и MemoryNotFormatedStream. |
| Автор: np9mi7 31.3.2005, 13:49 |
| да напиши ты кусок кода.... |