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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Wates
0 / 0 / 0
Регистрация: 27.09.2011
Сообщений: 8
#1

Создать класс произвольного треугольника, заданного координатами своих вершин - C++

27.09.2011, 18:43. Просмотров 1605. Ответов 3
Метки нет (Все метки)

Создать класс произвольного треугольника, заданного координатами своих вершин (объекты класса точки) на плоскости и унаследовать от него классы прямоугольного и равностороннего треугольников, способ наследования - protected.
Класс произвольного треугольника должна содержать пустой конструктор, по которому будет создаваться треугольник с вершинами (-1, 0), (0, 3) и (1, 0), а также функцию вычисления площади.
Класс прямоугольного треугольника дополнительно содержит два свойства, которые задают длины его катетов. К конструктору класса прямоугольного треугольника передаются вершина прямого угла и длины катетов. Предусмотреть для этих параметров значения по умолчанию: вершина - точка (0, 0), длины катетов - 1. В конструкторе нужно рассчитать координаты двух других вершин, если известно, что катеты параллельны координатным осям. Также данный класс должен содержать функции для изменения длин катетов и координат вершины прямого угла (три функции). В теле этих функций должно осуществляться переобрахунок координат точек треугольника.
Класс равностороннего треугольника дополнительно содержит свойство, определяющее длину его стороны и конструктор. В качестве параметров конструктора должны передаваться координата одной из вершин и значения длины стороны треугольника. Предусмотреть для этих параметров значения по умолчанию: вершина - точка (0, 0), длина стороны - 1. Как и для класса прямоугольного треугольника, создать функции изменения координат вершины и стороны треугольника.
В главной программе создать объекты каждого из треугольников описанных классов. Для прямоугольного треугольника увеличить каждый из катетов на указанное пользователем значение. Для равностороннего треугольника увеличить длину стороны на указанное пользователем значение. Вычислить площадь образованных треугольников. Результаты вывести на экран и сохранить в текстовом файле.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2011, 18:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать класс произвольного треугольника, заданного координатами своих вершин (C++):

Найти высоты треугольника, заданного координатами своих вершин - C++
Написал вот такую прогу, она рабочая, но желательно составить единую функцию для поиска всех сторон, а не три отдельных. Пробовал делать...

Вычисление периметра треугольника, заданного координатами своих вершин - C++
Прошу помогите если можете. Треугольник заданный координатами x1, y1, x2, y2, x3, y3 своих вершин. склвсты программу для вычисления...

Найти площадь треугольника заданного координатами своих вершин - C++
Прошу помощи с решением задачки: :) Треугольник задан координатами своих вершин. Найти площадь треугольника.

Найти высоты треугольника, заданного координатами своих вершин - C++
Найти высоты треугольника, заданного координатами своих вершин. Указать наименьшую из них. Для определения стороны треугольника оформить...

Найти периметр треугольника, заданного координатами своих вершин - C++
2. Составьте программу для решения задачи. Найдите периметр треугольника, заданного координатами своих вершин (считать, что треугольник...

Функции: найти высоты треугольника, заданного координатами своих вершин - C++
Здравствуйте, помогите пожалуйста написать программу Найти высоты треугольника, заданного координатами своих вершин. Указать наименьшую...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
27.09.2011, 18:50 #2
Возвращаясь к теме наследования класса Куб от класса Квадрат, дважды на такую подставу не попадусь.)
С другой стороны, наследование защищённое, поэтому ситуация не столь плачевна.
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
27.09.2011, 19:47 #3
Цитата Сообщение от Deviaphan Посмотреть сообщение
наследование защищённое
А по-моему, менее плачевной от этого ситуация не становится...
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
27.09.2011, 19:50 #4
Цитата Сообщение от silent_1991 Посмотреть сообщение
менее плачевной от этого ситуация не становится...
Полиморфно использовать не получится.)
Но преподы пипец просто. Потом удивляются, почему студенты ООП плохо понимают.)

Добавлено через 1 минуту
Хотя, в данном случае смысла наследовать реализацию нет, ведь реализация у них совершенно разная. Согласен, ситуация даже более плачевная, чем я сперва подумал.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2011, 19:50
Привет! Вот еще темы с ответами:

Лежит ли точка М(xm;ym) внутри треугольника, заданного координатами своих вершин - C++
Лежит ли точка М(xm;ym) внутри треугольника, заданного координатами своих вершин A(xa;ya), B(xb;yb), C(xc;yc) на плоскости

Найти внутрение углы треугольника,заданного координатами своих вершин на площаде. - C++
Найти внутрение углы треугольника,заданного координатами своих вершин на площаде. Заранее спасибо!!!!

Определить, лежит ли заданная точка на одной из сторон треугольника, заданного координатами своих вершин - C++
1. Определить, лежит ли заданная точка на одной из сторон треугольника, заданного координатами своих вершин. 2. Дана последовательность...

Определить, лежит ли заданная точка на одной из сторон треугольника, заданного координатами своих вершин - C++
Определить, лежит ли заданная точка на одной из сторон треугольника, заданного координатами своих вершин. Предусмотреть проверку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.09.2011, 19:50
Ответ Создать тему
Опции темы

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