Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2013, 09:31   #11
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Проблема-то решилась ?

Шилдт какой-то старый, надо взять шилдта по сишарп 4.0, гораздо актуальней (2010 года вроде). Полный справочник, 1000+ страниц, но читается вполне легко. Я меньше чем за месяц осилил.

Исправить - сперва назвать все переменные грамотно, и по английски, а то сейчас имхо путаница большая (например D - массив диаметров, вот и назвать Diameters, метод armatura подписан как "возвращает площадь", вот и назовите GetArmaturaSquare, ибо одна только "арматура" не говорит о том что это именно площадь). Поля типа fff вообще выносят моск.

Много глобально видимых полей, большинство из которых можно было бы убрать, заменить либо на внутренние поля, или обернуть в свойства или сделать просто возвращаемыми из методов.

Хорошо было бы сделать класс расчёта универсальным, а то сейчас он привязан к консоли. Лучше сделать класс независимым а для консольного варианта написать некий класс -клиент, который будет связывать взаимодействие с классом расчёта и с консолью. При необходимости сделать работу из файла или из формы систему легко переориентировать, только дописать соотв класс-клиент.

Лично мне не нравится подход с наследованием класса данных, хотя, возможно, он и оправдан чем-то.

Второе, убрать goto, заменить на while циклы.

Методы ввода и расчёта во многом повторяются, лучше бы их универсализировать. Повышать инкапсуляцию, т.е. чтобы клиентскому коду (сейчас это класс rabota) был доступен только необходимый минимум. Зачем в нём, например, вызывать подряд 10 методов ? Пусть будет 1 внешний метод у класса расчёта который будет вызывать эти 10, но уже скрытых методов сам, в rabota же будет только 1 вызов такого внешнего метода.

Строковые значения также может содержать сам класс расчёта, чтобы клиентский код не думал, какую величину какой строкой где подписать.
phomm вне форума Ответить с цитированием
Старый 31.03.2013, 12:03   #12
Sergey_gorobets
Пользователь
 
Регистрация: 08.02.2013
Сообщений: 69
По умолчанию

Проблему решил путем создания в каждом производном классе объекта его базового класа.И получал доступ к переменным с помощью обьекта класса. Хотя в той же книге Шилдта пишется что в производном классе можно получить прямой доступ к обьектам его базового класса.Видимо что то не дочитал..
Sergey_gorobets вне форума Ответить с цитированием
Старый 31.03.2013, 13:37   #13
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

видимо что-то неправильно сделали
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив указателей на производные классы number0ne Общие вопросы C/C++ 10 17.06.2012 21:32
производные классы missg C++ Builder 15 10.04.2012 18:16
класс employee и производные классы olik83 Общие вопросы C/C++ 7 21.09.2009 22:44
С++ Производные классы (Ошибка) Sweta Помощь студентам 9 23.04.2008 12:58
базовые и производные классы (В чём моя ошибка) umnix Общие вопросы C/C++ 5 01.12.2007 17:26