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

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

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

Управляющий класс с подклассами - C++

20.05.2013, 16:06. Просмотров 410. Ответов 3
Метки нет (Все метки)

Я не понимаю как сделать один класс, в котором будет выбор какой из подклассов использовать.
Конкретная задача: создать растровый графический редактор на основе winbgi
Мне нужно чтобы они отдельно для себя рисовали область нажатия и при выборе одного из них рисовать можно было этим подклассом.
Вот мои наброски, подскажите как будет лучше.
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
class Menu
{
public:
    int c,fc,mode;
public:
    Menu(int c,int fc):c(c),fc(fc),mode(0){};
    ~Menu(){cleardevice();};
    void createmenu();
    void choosedraw(int,int);
    void show();
};
 
class Rectangle :
    public Menu
{
protected:
    void draw();
public:
    Rectangle(void);
    ~Rectangle(void);
    void createmenu();
};
 
class Line :
    public Menu
{
protected:
    void draw();
public:
    Line(void);
    ~Line(void);
    void createmenu();
};
 
class Bar :
    public Menu
{
protected:
    void draw();
public:
    Bar(void);
    ~Bar(void);
    void createmenu();
};
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2013, 16:06     Управляющий класс с подклассами
Посмотрите здесь:

Для чего управляющий символ \? ? - C++
Для чего в языке С++ используется управляющий символ \? ? Добавлено через 8 минут Вот, что нашел по этому вопросу, но компилятор...

управляющий символ, обратный "\n" - C++
Существует ли управляющий символ переводящий каретку на предыдущую строку (т е выполняющий роль обратную "\n") или любой другой способ...

Класс строка, класс текст, агрегация - C++
12. Текст (2 класса: строка, текст находятся в отношении агрегации) Конструкторы: по умолчанию, с параметрами и копирования. ...

Класс двумерная точка и класс многоугольник - C++
Всем привет Ну с двумерной точкой всё более- менее ясно. Вот набросок class DOT2 { int x, y; public: DOT2* next;

Класс создающий другой класс (ошибка) - C++
Начал писать прогу, суть в том, что один класс должен создавать группу объектов другого класса, написал один класс - работало, а во втором...

Класс данных, класс сортировок - C++
#include <stdexcept> #include <iostream> #include <fstream> #include <Windows.h> #include <iomanip.h> using namespace std; ...

Класс "Товар" и класс-контейнер - C++
Есть класс товары.Для сохранения данных нужно создать еще 1 класс. Как создать функцию сортировки например по названию. ПОтому что такую ...

Класс управляющий пользователями ООП - PHP ООП
Есть класс People. Это общий класс для всех видов пользователей. на сайте есть пользователи типа Guest, User, Moderator .... и др... ...

ПИК управляющий БОШ - Микроконтроллеры
У меня PIC16F1823-I/SL управляет кухонным комбайном Bosch (управляла). Сейчас КК превратился в кирпич. Все детали проверил - все рабочее,...

где в Joomla 2.5 управляющий файл - Joomla
перенёс сайт с денвера на хост, но имя БД поменялось, в каком файле нужно заменить имя БД что бы сайт заработал?

Управляющий VLAN. Как сделать - Juniper
Здравствуйте. Есть головной свич SRX с которого расходятся вланы на вторичные через транк порты, а там раздаются через access. Не пойму...

HP 2530 48G -управляющий коммутатор - Сетевое оборудование
Разрешить узлам (192.168.0.2 и 192.168.0.3) доступ к сети через определенный порт к компьютеру (192.168.0.10) , возможно ли это ? Хочу...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DjaFaR
0 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 24
20.05.2013, 22:38  [ТС]     Управляющий класс с подклассами #2
Вот подправил немного но все равно что то не так(
C++ (Qt)
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
#include "winbgim.h"
#include "graphics.h"
 
class Menu
{
public:
    int c,fc,mode;
protected:
    virtual void draw();
public:
    Menu(int c,int fc):c(c),fc(fc),mode(0){};
    ~Menu(){cleardevice();};
    void createmenu();
    void choosedraw(int,int);
    void show();
};
 
class Rectangle :
    public Menu
{
protected:
    int x,y;
    void draw();
public:
    Rectangle(int x,int y,int c,int fc, int mode):x(mousex()),y(mousey()),Menu(c,fc,mode){};
    ~Rectangle(){cleardevice();};
    void createmenu();
};
 
class Line :
    public Menu
{
protected:
    void draw();
public:
    Line(void);
    ~Line(void);
    void createmenu();
};
 
class Bar :
    public Menu
{
protected:
    void draw();
public:
    Bar(void);
    ~Bar(void);
    void createmenu();
};
Добавлено через 4 часа 20 минут
ayyy
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
20.05.2013, 23:19     Управляющий класс с подклассами #3
Шо ау?
В таких задачах классически используют двойную диспетчеризацию.

Добавлено через 3 минуты
И паттерн command.
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
20.05.2013, 23:24     Управляющий класс с подклассами #4
Почитайте про полиморфизм.
Yandex
Объявления
20.05.2013, 23:24     Управляющий класс с подклассами
Ответ Создать тему
Опции темы

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