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

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

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

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

23.05.2010, 19:10. Просмотров 783. Ответов 0
Метки нет (Все метки)

Добрый день!)
Задание:
  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++
7 задание Сделайте пожалуйста, большое спасибо! :good:

Множественное наследование - C++
По этой схеме нужно сделать множественное наследование. Вот код:#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string&gt; using...

Множественное наследование - C++
Имеется множественное наследование в виде треугольника. Если в обоих базовых классах имеются поля с одинаковым названием и смыслом, может...

Множественное наследование - C++
Есть два класса Human(fname, lname) и класс Employee c чисто виртуальными функц (зарплата и печать). На базе этих классов нужно создать...

Множественное наследование - C++
Доброго времени суток. Есть ряд операций. Логически операции делятся на группы ( к примеру, запрос, ответ, чтение из буфера и .п.). В...

Множественное наследование - C++
Возник вопрос по теме множественное наследование. Вот скажем у нас определены классы: class Animal{ public: int...

Множественное наследование - C++
Нужно построить такую вот иерархию классов: Я написал прогу, но не уверен правильно ли сохраняется иерархия. Вот код:#include...

Множественное наследование - C++
Помогите пожалуйста написать программу.

Множественное наследование в С++ - C++
Столкнулся с такой проблемой: class D{ ... public: ... void setD(); ... }; class Dd : public D{ ...

Множественное наследование - C++
Здравствуйте! Делаю следующее задание по подготовке к экзамену по С++. Пока только начал. Вкратце - есть абстрактный класс. Его...

Множественное наследование - C++
Листинг: #include &lt;iostream&gt; using namespace std; class Person{private: string Fname,Sname,years;}; class Student{private:...

множественное наследование - C++
Почему не компилируется код? #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; using namespace std; class...


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

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

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