|
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
|
|
Создание классов26.05.2012, 12:56. Показов 8563. Ответов 13
Метки нет (Все метки)
Создать абстрактный базовый класс Triangle(треугольеник) для представления треугольника виртуальными функциями вычисления площади и периметра. Поля должны включать две стороны и угол между ними. Определить классы-наследники: прямоугольный треугольник, равнобедренный треугольник, равносторонний треугольник со своими функциями перевода и вывода на экран
0
|
|
| 26.05.2012, 12:56 | |
|
Ответы с готовыми решениями:
13
Создание классов! Создание классов создание классов |
|
Просто Лис
|
||||||
| 26.05.2012, 13:38 | ||||||
1
|
||||||
|
Заблокирован
|
|
| 26.05.2012, 13:42 | |
|
Рыжий лис:
1. Вы описали не абстрактный класс. 2. Вы не_описали виртуальный диструктор, что потенциально приведет к утечкам памяти.
2
|
|
|
Просто Лис
|
|||||||
| 26.05.2012, 14:03 | |||||||
|
Добавлено через 16 минут добавил класс прямоугольный треугольник
2
|
|||||||
|
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
|
||||||
| 26.05.2012, 22:57 [ТС] | ||||||
|
Рыжий Лис, по аналогии создал ещё 2 класса наследника, что дальше?
как в данном задании описать int main ?
0
|
||||||
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||||||||||||||||
| 27.05.2012, 02:59 | ||||||||||||||||
|
С вычислением площади и периметра вы явно что-то намудрили. Зачем в производных классах виртуальные методы? Я бы еще понял, если был бы class ravstor : public ravbedr, что по сути является правильным.
В базовый класс добавь аргументированный конструктор:
1
|
||||||||||||||||
|
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
|
||||||
| 27.05.2012, 14:21 [ТС] | ||||||
|
так?
0
|
||||||
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
| 27.05.2012, 14:31 | |
|
Аргументированные конструкторы должны быть в public. Изначально в классе стоит модификатор доступа private.
Посмотри формулы вычисления, мне показалось там не все правильно высчитывает. По хорошему, равносторонний треугольник должен наследовать равнобедренный. А зачем все методы произвольных классов делать виртуальными, я не знаю. Вроде нужно так делать только тогда, когда принадлежность объекта к классу определяется во время исполнения. Т.е. в базовом и в равнобедренном, если будешь от него наследовать равносторонний. Поправьте меня, если я не прав.
1
|
|
|
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
|
|||||||
| 27.05.2012, 14:46 [ТС] | |||||||
|
вот так выходит:
0
|
|||||||
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
| 27.05.2012, 14:52 | |
|
Дейструкторы в производных классах можно убрать, раз они не виртуальные и работы с памятью не происходит, толку их изменять нет. Система итак создаст по-умолчанию.
А в целом, если не хотите наследовать равносторонний от равнобедренного, можно на этом остановиться. Я бы посоветовал убрать в main-e полные названия функций (std: , либо строчку using namespace std; но это уже мелочи.
1
|
|
|
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
|
|
| 27.05.2012, 15:07 [ТС] | |
|
0
|
|
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|||||||
| 27.05.2012, 15:11 | |||||||
|
Добавлено через 1 минуту и зачем вы убрали чисто виртуальные функции в базовом классе Triangle? Верните их на место. Добавлено через 1 минуту
1
|
|||||||
|
34 / 26 / 0
Регистрация: 24.12.2010
Сообщений: 165
|
|
| 27.05.2012, 15:28 [ТС] | |
|
MrGluck? все работает, спасибо!
вот ворпрос возник, а зачем нам virtual в базовом классе? - тк у нас несколько других наследует одновременно этот класс или не поэтому?
0
|
|
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||||||
| 27.05.2012, 16:17 | ||||||
Вобще, почитайте про виртуальные функции, чисто виртуальные функции.
1
|
||||||
| 27.05.2012, 16:17 | |
|
Помогаю со студенческими работами здесь
14
Создание классов Создание классов создание классов Создание иерархии классов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|