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

Задание на множественное наследование - C++

Восстановить пароль Регистрация
 
GaldeR
0 / 0 / 0
Регистрация: 21.05.2010
Сообщений: 4
23.05.2010, 19:10     Задание на множественное наследование #1
Добрый день!)
Задание:
  1. Описать базовый класс "точка" с полями "координаты" и "цвет". Методы класса - конструктор, получение значения полей, изменение значения полей, отображение точки на экране, гашение точки и перемещение точки.
  2. Описать базовый класс "отрезок" с полями "координаты" и "цвет". Методы класса - конструктор, получение значения полей, изменение значения полей, отображение отрезка на экране, гашение отрезка и перемещение отрезка.
  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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include <conio.h>
 
class Line
 
{ int xn, yn, xk, yk, cp;
 
  public:
 
    Line (int xni, int yni, int xki, int yki, int ci)
 
    {
     xn = xni;
     yn = yni;
     xk = xki;
     yk = yki;
     cp = ci;
    }
 
void Output()
 
    {
     cout<<"\n Xn = "<<xn;
     cout<<"\n Yn = "<<yn;
     cout<<"\n Xk = "<<xk;
     cout<<"\n Yk = "<<yk;
     cout<<"\n Color: "<<cp;
     getch();
    }
 
void Draw()
 
    {
     setcolor(cp);
     line (xn, yn, xk, yk);
     getch();
    }
 
void Hide()
 
    {
     int bkc;
     bkc = getbkcolor();
     setcolor(bkc);
     line (xn, yn, xk, yk);
     setcolor(cp);
     getch();
 
    }
 
void Change()
 
    {
     int xnn, ynn, xkn, ykn;
     cout<<"\nChange Xn: ";
     cin>>xnn;
     cout<<"\nChange Yn: ";
     cin>>ynn;
     cout<<"\nChange Xk:";
     cin>>xkn;
     cout<<"\nChange Yk:";
     cin>>ykn;
     int bkc;
     bkc = getbkcolor();
     setcolor(bkc);
     line (xn, yn, xk, yk);
     setcolor(cp);
     line (xnn, ynn, xkn, ykn);
     getch();
     xn = xnn;
     yn = ynn;
     xk = xkn;
     yk = ykn;
    }
 
void Move()
 
    {
     int mx, my;
     cout<<"\nMove X: ";
     cin>>mx;
     cout<<"\nMove Y: ";
     cin>>my;
     int bkc;
     bkc = getbkcolor();
     setcolor(bkc);
     line (xn, yn, xk, yk);
     setcolor(cp);
     xn = xn + mx;
     xk = xk + mx;
     yn = yn + my;
     yk = yn + my;
     line (xn, yn, xk, yk);
     getch();
    }
 
};
А это - "точка":
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <conio.h>
class point
 
{ int xp, yp, cp;
 
  public:
 
    point(int xi, int yi, int ci)
 
    {
     xp = xi;
     yp = yi;
     cp = ci;
    }
 
void Output()
 
    {
     cout<<"\nPoint x = "<<xp;
     cout<<"\nPoint y = "<<yp;
     cout<<"\nPoint color : "<<cp;
     getch();
    }
 
void Draw()
 
    {
     setcolor(cp);
     putpixel (xp, yp, getcolor());
     getch();
    }
 
void Hide()
 
    {
     int bk;
     bk = getbkcolor();
     putpixel (xp, yp, bk);
     getch();
    }
 
void Move()
 
    {
     int xpn, ypn;
     cout<<"\nMove X: ";
     cin>>xpn;
     cout<<"\nMove Y: ";
     cin>>ypn;
     int bk;
     bk = getbkcolor();
     setcolor(bk);
     putpixel (xp, yp, getcolor());
     setcolor(cp);
     putpixel (xpn, ypn, getcolor());
     xp = xpn;
     yp = ypn;
     getch();
    }
 
void Change()
 
    {
     int xn, yn, cn;
     cout<<"\nChange X: ";
     cin>>xn;
     cout<<"\nChange Y: ";
     cin>>yn;
     cout<<"\nChange Color: ";
     cin>>cn;
     int bk;
     bk = getbkcolor();
     setcolor(bk);
     putpixel (xp, yp, getcolor());
     setcolor(cn);
     putpixel (xn, yn, cn);
     xp = xn;
     yp = yn;
     cp = cn;
     getch();
    }
};
Но вот что делать с классом-наследником "квадрат с начерченными диагоналями", не могу пока понять. Как должен выглядеть его конструктор? И как создавать этот квадрат, используя точку и отрезок?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2010, 19:10     Задание на множественное наследование
Посмотрите здесь:

Множественное наследование C++
Множественное наследование C++
Множественное наследование C++
Множественное наследование C++
C++ Множественное наследование
Множественное наследование C++
Множественное наследование C++
Множественное наследование C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 17:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru