![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
(Извиняюсь за флуд)
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 07.01.2010
Сообщений: 141
|
![]()
концептуально, дробь либо есть, либо ее нет. не бывает дробей с невалидным состоянием. вот это и надо обеспечить. в добавок к этому, вы патаетесь на класс, представляющий дроби еще навеить функциональность парсинга строк, что тоже неверно. один класс - одна задача. самое правильное: сделать конструктор Fraction(int, unsigned). И предоставить для класса набор утилитных ф-ий, которые бы парсили строки или обрабатывали другие обьекты, вытаскивая из них делитель и делимое. Вот эти ф-ии и сделать как вам удобно. хотите чтобы они кидали исключение - пожалуйста, хотите чтобы они возвращали бул в качестве результата парсинга - тоже пожалуйста. В общем, вариантов, из чего и как построить класс дроби масса и вы все не учтете в своей реализации. Поэтому самое правильное : определить класс дроби и его поведение в одном месте, а правила построения из других обьектов (из строк в частности) - в другом. тогда все будут довольны.
|
![]() |
![]() |
![]() |
#13 | |
Ubuntu 10.04
Пользователь
Регистрация: 15.07.2010
Сообщений: 51
|
![]() Цитата:
Язык образует среду мышления и формирует представление о том, о чем мы думаем (Б. Л. Уорф)
|
|
![]() |
![]() |
![]() |
#14 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Не хочу раздувать войнушку, но мне доводилось видеть как работает проект, захватывающий около гигабайта памяти для экземпляров класса, но при этом 90% отрабатывали только 10 штук из них, другие отсеивались по условию, но не освобождались. Честно говоря автора заставили программу переписать, чем закончилось не знаю.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#15 | |
Ubuntu 10.04
Пользователь
Регистрация: 15.07.2010
Сообщений: 51
|
![]() Цитата:
Ну, в такой ситуации действительно можно считать объекты некорректные с точки зрении логики программы мусором. По поводу переписывания программы. Задание с учебы наверное, так что мы не сильно навредили.
Язык образует среду мышления и формирует представление о том, о чем мы думаем (Б. Л. Уорф)
|
|
![]() |
![]() |
![]() |
#16 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Автоматическое преобразование на основе первого аргумента конструктора в вызов самого конструктора | jennya | Visual C++ | 8 | 03.10.2010 19:03 |
Как прервать выполнение операции? | iskurt | Помощь студентам | 9 | 29.03.2010 18:46 |
Прервать выполнение функции? Как? | TwiX | Общие вопросы Delphi | 9 | 28.09.2009 16:36 |
Как прервать внешний цикл? | AndreyF | Общие вопросы Delphi | 15 | 15.06.2009 17:46 |
delphi 7, как прервать выполнение программы | Altera | Софт | 3 | 27.07.2008 15:14 |