Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Взаимодействие между объектами единой иерархии классов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив с нулевыми значениями http://www.cyberforum.ru/cpp-beginners/thread252939.html
Присваивание нулевых начальных значений элементам массива.. Пожалуйста помогите исправить ошибки......не переделывая...это пример из книжки..... // нулевой массив.cpp : Defines the entry point for...
C++ Окружности помогите пож-та: надо составить три окружности разных цветов да еще чтобы они последовательно были соединены(как ауди )) Не вклинивайтесь в чужие темы с несвязанным с ними вопросом. Так же крайне... http://www.cyberforum.ru/cpp-beginners/thread252924.html
рекурсии... C++
задание: Во входном файле задано без ошибок логическое выражение следующего вида : <логическое выражение>::= true|falsе|<операция>(<операнды>) <операция>:: = not |and| or <операнды>:: =...
C++ Дописать код программы
Вобщем есть код для нахождения количества попарно различных символов, входящих в состав введенного с клавиатуры слова, надо сделать так чтобы он работал со всей строкой, т.е. и со словами после...
C++ Не знаю с чего начать:( http://www.cyberforum.ru/cpp-beginners/thread252914.html
Товарищи программисты подскажите с чегко начать писать данную программу: Справочное бюро вокзала. расписание движение поездов включает следующую информацию: НЦомер поезда, станцию назначения,...
C++ итератор Привет. Не получается создать итератор. std::vector<std::list<size_t> > adjacentList; если пишу так std::vector<std::list<int> >::iterator it; it = adjacentList.begin(); то... подробнее

Показать сообщение отдельно
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
06.03.2011, 15:09
Цитата Сообщение от Dejust Посмотреть сообщение
У меня есть некоторый базовый класс window, который создает "окно" и представляет функции доступа к нему для производных классов.
Есть базовый абстрактный класс shape (производный от window) который наследуют другие классы-фигуры (точка, линия, квадрат и т.п.)
Классы фигур, наследуя shape, выводят фигуры "на окне" класса window
Лажа какая-то. Если класс наследуется от какого-то класса, то дочерний класс логически ЯВЛЯЕТСЯ родительским.
Например, логично, что класс квадрат, порождается от класса четырехугольник. Квадрат является четырехуголником. Не очень-то логично, если класс "Фигура" порождается от класса "Окно", потому что фигура не является окном и уж тем более точка не является окном.

Предлагаю другую структуру классов.

Класс Window -- контейнер всего, что можно отрисовать, т.е НЕ является ничьим родительским классом, но содержит множество (массив / список / множество ...) объектов класса Drawable.
Класс Drowable -- класс всего, что можно отрисовать в окне. Базовый.
Класс Point : Drowable -- класс точки. Точка не является фигурой. Фигура это множество точек.
Класс Shape : Drowable -- класс фигур, контейнер множества точек.
Классы Line, Rectangle и другие наследуются от Shape.

Drowable может иметь виртуальные методы отрисовки, перекрываемые в дочерних классах.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru