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

Класс CPoint и ей производные, нужна помощь - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Alexex
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 23
10.04.2012, 16:10     Класс CPoint и ей производные, нужна помощь #1
Создать класс CPoint – точка и производные от него классы CcoloredPoint и
CLine. На основе классов CcoloredPoint и CLine создать класс CcoloredLine. Все
классы должны иметь методы для установки и получения значений всех координат,
а также изменения цвета и получения текущего цвета.
Собственно задача. Помогите пожалуйста буду очень признателен. В особенности не понимаю, как на основе двух классов, создать новый класс?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
10.04.2012, 21:39     Класс CPoint и ей производные, нужна помощь #2
что понимаете выкладывайте, допишем
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
10.04.2012, 23:31     Класс CPoint и ей производные, нужна помощь #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
#include <iostream>
 
class CPoint
{
protected:
   int x, y;
public:
   int getX() const {return x;}
   void setX(int x_) {x = x_;}
   int getY() const {return y;}
   void setY(int y_) {y = y_;}
   virtual ~CPoint() {}
};
 
class CColoredPoint: public virtual CPoint 
{
protected:
   int color;
public:
   int getColor() const {return color;}
   void setColor(int color_) {color = color_;}
   virtual ~CColoredPoint() {} 
};
 
class CLine: public virtual CPoint
{
protected:
   int x2, y2;
public:
   int getX2() const {return x2;}
   void setX2(int x2_) {x2 = x2_;}
   int getY2() const {return y2;}
   void setY2(int y2_) {y2 = y2_;}
   virtual ~CLine() {} 
};
 
class CColoredLine: public CLine, public CColoredPoint
{
 
};
 
int main()
{
   CColoredLine cline;
   cline.setX(100);
   std::cout << cline.getX() << std::endl;
}
Alexex
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 23
11.04.2012, 22:18  [ТС]     Класс CPoint и ей производные, нужна помощь #4
gooseim, спасибо. Можете объяснить несколько моментов:
C++
1
2
int getX() const {return x;}
int getY() const {return y;}
-зачем const после определения функции?
C++
1
virtual ~CPoint() {}
- почему через virtual был вызван деструктор и зачем он тут?
C++
1
2
class CColoredPoint: public virtual CPoint 
class CLine: public virtual CPoint
- зачем класс наследник определен через виртуальную функцию?
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
11.04.2012, 22:56     Класс CPoint и ей производные, нужна помощь #5
Цитата Сообщение от Alexex Посмотреть сообщение
-зачем const после определения функции?
константные методы не могут изменить значение полей класса

Цитата Сообщение от Alexex Посмотреть сообщение
- почему через virtual был вызван деструктор и зачем он тут?
чтобы не было утечек памяти, т.к. используется наследование и был вызван деструктор производного класса

Добавлено через 1 минуту
- зачем класс наследник определен через виртуальную функцию?
http://ru.wikipedia.org/wiki/%C2%E8%...E2%E0%ED%E8%E5
Yandex
Объявления
11.04.2012, 22:56     Класс CPoint и ей производные, нужна помощь
Ответ Создать тему
Опции темы

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