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

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

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

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

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

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

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

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

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

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

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

Абстрактный класс - C++
#include <iostream.h> #include <conio.h> #include <math.h> #include <windows.h> char bufRus; char* Rus(const char* text) { ...

абстрактный класс - C++
стоит ли в абстрактном классе объявлять поля данных? или лучше объявлять только виртуальные функции? с точки зрения правильности как лучше?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
24.06.2013, 16:11     Определите абстрактный класс Figure #2
А Вы знаете, как узнать остальные вершины, чтобы строить треугольник? Это не так быстро. Т.ч. выкладывайте наработки.
Кликните здесь для просмотра всего текста
Как мне думается, для нахождения вершины по известному углу между стороной и осью можно воспользоваться теоремой синусов, а координаты оставшейся по системе из двух уравнений.
VEINHORN
543 / 92 / 22
Регистрация: 16.12.2011
Сообщений: 317
24.06.2013, 16:17     Определите абстрактный класс Figure #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;
}
BumerangSP
24.06.2013, 16:23
  #4

Не по теме:

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

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

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

Не по теме:

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2013, 17:11     Определите абстрактный класс Figure
Еще ссылки по теме:

Абстрактный класс - C++
Есть базовый абстрактный класс. От него - 2 производных класса. Проблемы: 1) Понимаю, что я не правильно вызываю мои чисто вирт....

абстрактный класс - C++
Всем привет, снова я, только уже с новым вопросом, а что такое абстрактный класс. Читаю книгу, не могу врубиться, рассказывается про...

Абстрактный класс - C++
Есть такое задание: Сгенерируйте абстрактный класс типа фигура, создайте производные от него классы типа пятиугольник, прямоугольник. В...

Абстрактный класс в С++ - C++
Здравствуйте) Начаю изучать классы, можете мне показать абстрактные класс с перегруженным конструктором и наследованием. Например класс...

Абстрактный класс - C++
Ребят такая проблема, точнее недопонимания. Реализую графический редактор. Есть базовый абстрактный класс GraphObject От него...


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

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

C++
1
void noshow() { ... }
Yandex
Объявления
24.06.2013, 17:11     Определите абстрактный класс Figure
Ответ Создать тему
Опции темы

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