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

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

Войти
Регистрация
Восстановить пароль
 
КоляКоля
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 4
#1

Определите абстрактный класс Figure - C++

23.06.2013, 16:04. Просмотров 453. Ответов 6
Метки нет (Все метки)

Определите абстрактный класс Figure (фигура на плоскости), включающий координаты x,
y характерной точки фигуры. Предусмотрите в классе Figure функции-члены show,
noshow, move. Определите на базе класса Figure конкретный класс Triangle (треугольник).
Пусть базовая точка задает координаты одной вершины треугольника, кроме этого пусть в
класс Triangle входят длины трех сторон a, b, c и угол между стороной a и осью x.
Напишите тестирующую программу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2013, 16:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определите абстрактный класс Figure (C++):

Класс: Создать абстрактный базовый класс Figure с виртуальными методами вычисления площади и периметра. - C++
Создать абстрактный базовый класс Figure с виртуальными методами вычисления площади и периметра. Создать производные классы: Rectangle...

Создать абстрактный базовый класс Figure - C++
Здравствуйте,помогите пожалуйста с задачей. Создать абстрактный базовый класс Figure с виртуальной функцией - площадь поверхности....

Создать абстрактный базовый класс Figure и производные классы Rectangle, Circle - C++
Создать абстрактный базовый класс Figure с виртуальными методами вычисления площади и периметра. Создать производные классы: Rectangle...

1) Создать абстрактный класс Figure с методами вычисления площади и периметра, а также методом, выводящим информацию о фигуре на экран - C++
1) Создать абстрактный класс Figure с методами вычисления площади и периметра, а также методом, выводящим информацию о фигуре на экран. ...

Создать абстрактный базовый класс Figure с виртуальной функцией Периметр. Создать производные классы Rectangle - C++
Создать абстрактный базовый класс Figure с виртуальной функцией -периметр.Создать производные классы Rectangle, Circle,Triangle,Rhomb в...

Разработать класс Figure - C++
Разработать класс Figure (геометрические фигуры) и производный класс Angle (угол). Описать атрибуты.

6
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
24.06.2013, 16:11 #2
А Вы знаете, как узнать остальные вершины, чтобы строить треугольник? Это не так быстро. Т.ч. выкладывайте наработки.
Кликните здесь для просмотра всего текста
Как мне думается, для нахождения вершины по известному углу между стороной и осью можно воспользоваться теоремой синусов, а координаты оставшейся по системе из двух уравнений.
0
VEINHORN
543 / 92 / 22
Регистрация: 16.12.2011
Сообщений: 317
24.06.2013, 16:17 #3
Это набросок.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include<iostream>
#include<math.h>
using namespace std;
class Figure {
private:
    double x;
    double y;
public:
    virtual void show() {
        cout << x << " " << y << " ";
    }
    virtual void noshow() {
 
    }
    virtual void move() {
 
    }
    void setX(double x) {
        this->x = x;
    }
    void setY(double y) {
        this->y = y;
    }
};
 
class Triangle : public Figure {
private:
    double a;
    double b;
    double c;
    double angle;
public:
    void show() {
        Figure::show();
        cout << a << " " << b << " " << c << " " << angle << endl;
    }
    void move(double x,double y) {
        Figure::setX(x);
        Figure::setY(y);
    }
    void setA(double a) {
 
    }
    void setB(double b) {
 
    }
    void setC(double c) {
 
    }
    void set(double x,double y,double a,double b,double c,double angle) {
        Figure::setX(x);
        Figure::setY(y);
        this->a = a;
        this->b = b;
        this->c = c;
        this->angle = angle;
    }
};
 
int main()
{
    Triangle a;
    a.set(1,2,3,4,5,6);
    a.show();
    system("pause");
    return 0;
}
0
BumerangSP
24.06.2013, 16:23
  #4

Не по теме:

@MCKLAS, набросок каждый сможет, решите всю задачку Притом там четко написано, что Figure - класс абстрактный.

0
VEINHORN
543 / 92 / 22
Регистрация: 16.12.2011
Сообщений: 317
24.06.2013, 16:41 #5
@BumerangSP, так у меня класс Figure вроде как и есть абстрактный класс. Зачем функция noshow ума не приложу.

Добавлено через 12 минут
По углу и стороне можно найти перпендекуляр к оси икс и еще одну сторону а потом уже найти смещения и по ним вторую координату. Далее от 180 минус угол и найти перепендекуляр второй и сторону потом смещения и найти координату третьей точки.
0
BumerangSP
24.06.2013, 17:06
  #6

Не по теме:

@MCKLAS, абстрактный класс предполагает наличие хотя бы одной чистой виртуальной функции. Чего-то не вижу ее здесь)

0
VEINHORN
543 / 92 / 22
Регистрация: 16.12.2011
Сообщений: 317
24.06.2013, 17:11 #7
@BumerangSP, а да вы правы.
Поменять
C++
1
virtual void noshow();
на
C++
1
virtual void noshow()=0;
и реализация в производном.

C++
1
void noshow() { ... }
0
24.06.2013, 17:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2013, 17:11
Привет! Вот еще темы с ответами:

Разработать производный от абстрактного класса Figure класс и класс, производный от производного - C++
Разработать базовый абстрактный класс Figure с пустым виртуальным методом print для вывода в дальнейшем полной информации об объекте: ...

Сознатие графического приложения (Создать класс-наследник от FIGURE) - C++
1). Создать класс-наследник от FIGURE, который представляет собой красную сетку с размером ячейки 30 точек на белом фоне. В левом...

Абстрактный класс, наследование, класс хранится в другом классе - C++
Нужна помощь. Написать программу: 1 класс. Имеется абстрактный класс который описывает какую-то сущность, например Человек. В абстрактном...

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями - C++
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать абстрактный базовый класс Тройка чисел с...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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