|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.03.2013, 09:31 | #11 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Проблема-то решилась ?
Шилдт какой-то старый, надо взять шилдта по сишарп 4.0, гораздо актуальней (2010 года вроде). Полный справочник, 1000+ страниц, но читается вполне легко. Я меньше чем за месяц осилил. Исправить - сперва назвать все переменные грамотно, и по английски, а то сейчас имхо путаница большая (например D - массив диаметров, вот и назвать Diameters, метод armatura подписан как "возвращает площадь", вот и назовите GetArmaturaSquare, ибо одна только "арматура" не говорит о том что это именно площадь). Поля типа fff вообще выносят моск. Много глобально видимых полей, большинство из которых можно было бы убрать, заменить либо на внутренние поля, или обернуть в свойства или сделать просто возвращаемыми из методов. Хорошо было бы сделать класс расчёта универсальным, а то сейчас он привязан к консоли. Лучше сделать класс независимым а для консольного варианта написать некий класс -клиент, который будет связывать взаимодействие с классом расчёта и с консолью. При необходимости сделать работу из файла или из формы систему легко переориентировать, только дописать соотв класс-клиент. Лично мне не нравится подход с наследованием класса данных, хотя, возможно, он и оправдан чем-то. Второе, убрать goto, заменить на while циклы. Методы ввода и расчёта во многом повторяются, лучше бы их универсализировать. Повышать инкапсуляцию, т.е. чтобы клиентскому коду (сейчас это класс rabota) был доступен только необходимый минимум. Зачем в нём, например, вызывать подряд 10 методов ? Пусть будет 1 внешний метод у класса расчёта который будет вызывать эти 10, но уже скрытых методов сам, в rabota же будет только 1 вызов такого внешнего метода. Строковые значения также может содержать сам класс расчёта, чтобы клиентский код не думал, какую величину какой строкой где подписать. |
31.03.2013, 12:03 | #12 |
Пользователь
Регистрация: 08.02.2013
Сообщений: 69
|
Проблему решил путем создания в каждом производном классе объекта его базового класа.И получал доступ к переменным с помощью обьекта класса. Хотя в той же книге Шилдта пишется что в производном классе можно получить прямой доступ к обьектам его базового класса.Видимо что то не дочитал..
|
31.03.2013, 13:37 | #13 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
видимо что-то неправильно сделали
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массив указателей на производные классы | 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 |