|
3 / 3 / 3
Регистрация: 17.10.2012
Сообщений: 147
|
|
[ООП] Геометрические функции04.11.2014, 12:32. Показов 9135. Ответов 11
Метки нет (Все метки)
Очередное задание по ООП (наследование):
Используя метод декомпозиции реализовать геометрические функции + значение площадей этих фигур. Какие функции, каких фигур - ничего не известно. Сказали на свой выбор. Не могли бы показать, как примерно это должно выглядеть?
0
|
|
| 04.11.2014, 12:32 | |
|
Ответы с готовыми решениями:
11
ООП . Геометрические тела
ООП. Геометрические фигуры |
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,463
|
|
| 04.11.2014, 14:32 | |
|
геометрическая фигура->
-круг -четырехугольник-> --прямоугольник->квадрат --равнобедренная трапеция -треугольник-> --равнобедренный --равносторонний геометрические функции: -расчет периметра -расчет площади
0
|
|
|
3 / 3 / 3
Регистрация: 17.10.2012
Сообщений: 147
|
|
| 04.11.2014, 14:34 [ТС] | |
|
Я имел ввиду, как это выглядит в коде, часть какой-то фигуры.
0
|
|
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,463
|
|||||||||||
| 04.11.2014, 16:10 | |||||||||||
...для равнобедренного и равностороннего не стал делать думаю понятно что там должно быть Добавлено через 1 час 1 минуту -в начале идет абстрактный базовый класс shape (фигура) -у него есть чистые виртуальные функции p (периметр) и s (площадь) -из этого класса мы выводим классы circle (окружность) и polygon (многоугольник) для которых определены функции расчета периметра и площади известные нам из курса геометрии -из класса многоугольник мы выводим класс quad (четырехугольник) который сам по себе не несет никакой нагрузки -из класса четырехугольник мы выводим класс rectangle (прямоугольник) которому для удобства даем поля a и b (стороны) и соответствующий конструктор -из класса прямоугольник мы выводим класс square (квадрат) которому для удобства мы даем соответствующий конструктор который просто передает единственный параметр (сторону) в конструктор прямоугольника -из класса четырехугольник мы выводим класс trapezium (равнобедренная трапеция) которому для удобства мы даем поля a, b и h (основания и высота) и соответствующий конструктор -из класса многоугольник мы выводим класс triangle (треугольник) который сам по себе не несет никакой нагрузки -аналогично из класса треугольник выводятся классы равнобедренный треугольник и равносторонний треугольник которым для удобства даются поля a, h (основание и высота для равнобедренного) или a (для равностороннего) и соответствующие конструкторы ----- демонстрация проводится как-то так
0
|
|||||||||||
|
3 / 3 / 3
Регистрация: 17.10.2012
Сообщений: 147
|
||||||
| 04.11.2014, 16:11 [ТС] | ||||||
|
Возникает ошибка на этом месте:
0
|
||||||
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,463
|
|||||||||||
| 04.11.2014, 17:06 | |||||||||||
Сообщение было отмечено Andrea13 как решение
Решение
для тех кто не может исправить незначительные неточности связанные с тем что код вводили прямо на форум приводится рабочая версия
1
|
|||||||||||
|
3 / 3 / 3
Регистрация: 17.10.2012
Сообщений: 147
|
||||||||||||||||
| 04.11.2014, 20:39 [ТС] | ||||||||||||||||
|
Все здорово, но у меня несколько вопросов:
Что-за формула? Где ее можно посмотреть в интернете? (не нашел) 2.
Это какие-то варианты или что? Пояснения все на англ. языке. 3.
0
|
||||||||||||||||
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,463
|
|
| 04.11.2014, 20:59 | |
|
1 тут формула http://www.mathsisfun.com/geom... ygons.html
2 push_back добавляет точку в список вершин. пусть вас не смущает название класса vector - смотрите на него просто как на динамический массив хранящий точки многоугольника. 3 в скобках точки трапеции. первая точка (0, 0), вторая лежит на оси X на расстоянии a и имеет координаты (a, 0). потом идут точки принадлежащие второму основанию - они удалены от оси X на расстояние h, а их координаты по оси X мы вычисляем зная длины оснований
0
|
|
|
3 / 3 / 3
Регистрация: 17.10.2012
Сообщений: 147
|
||||||||||||||||||||||||||
| 06.11.2014, 13:21 [ТС] | ||||||||||||||||||||||||||
|
Все таки этот предмет называется ООП, преподаватель все поменял и сделал такой код:
Сказал также сделать диструктор, и, что он обязательно должен присутствовать здесь:
Он: Что нам мешает в треугольнике сделать 5 вершин?! Я : Ничего. Это так он намекнул, что, возможно, тут что-то по-другому надо сделать. Или проверку - не знаю.
Помогите разобраться с этим.
0
|
||||||||||||||||||||||||||
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,463
|
|
| 06.11.2014, 16:37 | |
|
очень странные правки.
1 назвать фигурой точку можно только с очень большими оговорками тем более, что такие понятия как периметр и площадь к ней неприменимы. точка это скорее нечто большее. например, точка - это геометрический объект. 2 выводить окружность из точки 3 выводить эллипс из круга 4 виртуальный деструктор можете сделать. правда он у вас не будет выполнять никаких действий. 5 функция смещение если перевести ее на человеческий язык и включить телепатию наверное означает возврат координат точки вставки фигуры (некоторой точки принятой за начало локальной системы координат фигуры) 6 относительно того что мешает сделать в треугольнике 5 вершин - можно было смело ответить "руководство пользователя библиотекой графических примитивов и квалификация разработчика". в качестве альтернативы можно сделать список вершин закрытым полем которое будет недоступно снаружи класса. 7 многоугольник - это такая штука у которой много вершин. 3. или 4. или 1 000 000. в чем проблема вывести четырехугольник из многоугольника? многоугольник - это базовый класс который реализует общее поведение всех фигур являющихся многоугольниками. дочерний класс треугольник может расширять этот класс своими методами в зависимости от специфики задачи. может вы разрабатываете библиотеку для применения в САПР где предусмотрены функции растягивания фигуры и они будут существенно отличаться для треугольника и чего-нибдь еще. ==== таким образом если учесть отсутствие четкой формулировки задачи все претензии можно назвать высосанными из пальца - программист решает задачу - если задача не ставится он решает ее так как телепатия подсказывает и глупо потом стучать в закрытые двери головой. тем более что задача на самом деле решена в объеме заявленного учебного материала. тем более что правки на половину состоят то ли из провокаций то ли из маразма
0
|
|
|
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 7
|
||||||||||||
| 18.11.2014, 22:28 | ||||||||||||
допустим, у нас есть класс A и унаследованный от него класс B. В классе А память не выделяется и не очищается, ничего такого. В классе B же есть выделение памяти и очистка её в деструкторе. Примерно так:
Собственно, практически всегда нужно делать деструкторы в классах виртуальными, потому что если виртуального деструктора не будет и кто-то захочет унаследоваться от класса, этот кто-то не сможет нормально работать с памятью.
0
|
||||||||||||
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,463
|
||
| 19.11.2014, 11:02 | ||
|
0
|
||
| 19.11.2014, 11:02 | |
|
Помогаю со студенческими работами здесь
12
Классическая задача ООП: геометрические фигуры ООП виртуальные функции ООП или функции ООП Дружественные Функции, Операторы.
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|