![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
mr.Anderson |
|
||||||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Я сейчас только начал работать с классами, написал свой первый класс... Хотел бы услышать вашу оценку с точки зрения правильности, уместности использования всех операторов и функций и с точки зрения оптимизации (если она возможна, то скажите, как это сделать).
Определение класса, как я прочитал в учебнике, надо отделять от реализации. Я так и сделал. Файл CLASS.H
Файл реализации класса CLASS_RELEASE.CPP
И главный файл программы, использующей этот класс:
Прошу оценить по приведенным выше критериям... Это сообщение отредактировал(а) sim7 - 13.6.2006, 17:26 |
||||||
|
|||||||
pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
По идее Get должен что-то возвращать, а не выводить
-------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
MAKCim |
|
||||||||||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
1. Использование потоков внутри методов - нехорошо (зависимость от библиотеки)
Решение: убрать работу с потоками из методов 2.
для таких ситуаций лучше воспользоваться исключениями (здесь опять потоки) 3.
некрасиво ![]() почему бы статический массив не завести ?
4. void в качестве параметра метода можно не писать Если уж так хочется поиграться с потоками перегрузи operator<<, operator>>
да кстати, методы GetDay(), GetMonth(), GetYear() лучше (даже нужно) сделать константными
Это сообщение отредактировал(а) MAKCim - 13.6.2006, 17:44 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||||||||||
|
|||||||||||||||
Dray |
|
|||
![]() Материалист ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 7.10.2003 Где: г. Всеволожск Репутация: 2 Всего: 6 |
Именно! Здесь никак нельзя извлеч данные. Этот класс должен быть универсальным, так чтобы он мог работать не только в консольном приложении. В оконном ведь cout ничего не даст! И методы, которые не изменяют экземпляр класса, лучше объявлять статическими, вдруг захочется с константой работать. Добавлено @ 17:44 Т. е. константными! Извеняюсь! |
|||
|
||||
MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
почему бы сюда не передавать объект (ссылку) на GMDate а сам метод CheckDate не сделать статическим? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Пока со статическими и динамическими методами я не знаком, поэтому...
А вот мысль убрать потоки из классов - да, неплохо. В принципе, я как раз и хотел сделать потоки внутри классов в моей конкретной практической задаче, но в целом вы правы. Спасибо! Буду дальше рыть. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |