|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.12.2009, 22:14 | #1 |
Пользователь
Регистрация: 22.07.2009
Сообщений: 17
|
Классы с++.
В общем проблема вот в чем нужно сделать класс Rectangle.
Тех. Задание - Разработать класс прямоугольник, задать разумное поведение и протестировать на объектах класса, указателях на объект класса, массиве объектов. Уже есть сделанное задание – «Разработать и протестировать класс Point. Создать динамический массив объектов этого класса, задать произвольно координаты и вывести те из них, которые попали внутрь круга с центром в точке (1, 2) и радиусом 5.» Исходя из задания, прямоугольник будет задаваться левым верхним углом с координатами (X,Y) длинна и ширина - width и hight. Действия с прямоугольником: Ввод координат Верхнего левого угла, Ввод ширины, ввод высоты, вычисл. Площади, периметра, диагонали. А теперь (наконец то) сама проблема Есть 2 варианта: написать класс прямоугольник с нуля и все прописать в нем, или использовать класс точку для всего что связанно с верхним левым углом и в прямоугольник дописать все остальное. Если честно мне больше нравиться 1 вариант, но профессор сказала, что 2 вариант оптимальнее незачем снова переписывать все что нужно для точки (в принципе в этом что то есть). Но теперь возникают другие вопросы, если прямоугольник будет задаваться 2 классами придется создавать для 1 прямоугольника 2 объекта класса. Их наверное нужно будет как-то «связывать», а а что если 1 из объектов не создастся? (использовать исключения?) извиняюсь за сумбурное изложение, пож. ваша критика если есть вопросы задавайте буду рад обсудть ))) point.h Код:
|
17.12.2009, 23:59 | #2 |
Регистрация: 17.12.2009
Сообщений: 5
|
[QUOTE=ahab;418589]Есть 2 варианта: написать класс прямоугольник с нуля и все прописать в нем, или использовать класс точку для всего что связанно с верхним левым углом и в прямоугольник дописать все остальное.
Второй вариант лучше. Создаешь класс Rectangle, в private-части объявляешь объект класса Point - и работаешь с ним в классе Rectangle. В общем-то, можно еще что-то придумать. А если говорить об оптимальности, то в самом представленном коде... ну, эт меня уже куда-то не туда понесло=)) Последний раз редактировалось Nikanor; 18.12.2009 в 00:07. |
18.12.2009, 00:42 | #3 |
Пользователь
Регистрация: 22.07.2009
Сообщений: 17
|
в принципе я о чем то таком думал, спасибо )
есть еще варианты? буду рад |
18.12.2009, 02:40 | #4 |
Регистрация: 19.03.2009
Сообщений: 8
|
Ммм.. А почему " если прямоугольник будет задаваться 2 классами придется создавать для 1 прямоугольника 2 объекта класса. Их наверное нужно будет как-то «связывать» " ? Если ты в конструкторе пропишешь создание своей точки для прямоугольника то проблем не будет...
Ты просто объявляешь класс Rectangle, в приват добавляешь 1 точку, длину, ширину и угол поворота. в паблике будут конструктор, деструктор, методы по получению любой из 4х точек ( которые ты находишь синусами и косинусами с помощью начальной точки и длины и ширины ), и методы по получению/изменению твоих данных... Вот и все собственно... |
19.12.2009, 12:43 | #5 |
Регистрация: 17.12.2009
Сообщений: 5
|
Если честно, то не вижу смысла вообще для точки создавать класс. Лучше просто написать структуру, в которую засунуть координаты точки.
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
С++ классы | KOLYTFR | Помощь студентам | 1 | 04.06.2009 19:58 |
классы | elenSV | Общие вопросы C/C++ | 0 | 31.05.2009 09:48 |
Классы | Sasuke-sama | Общие вопросы C/C++ | 8 | 30.05.2009 15:15 |
Классы | TeleSky | Помощь студентам | 11 | 05.01.2009 13:43 |