• Авторизация


Многоуровневое наследование 24-06-2009 16:16 к комментариям - к полной версии - понравилось!




class Point 
{
protected:
 int x,y;
public:
 Point ():x(50),y(50) {}
};
class ColorPoint : public Point
{
 protected:
 int color;
 public:
 ColorPoint ():Point(),color(5) {}
};
class Rectangle : public ColorPoint
{
 protected:
 int x1, y1;
 public:
 Rectangle ():ColorPoint(),x1(100),y1(100) {}
};
class RectangleFill : public Rectangle
{
 protected:
 int fill;
 public:
 RectangleFill():Rectangle(),fill(10) {}
 void Show()
 {
cout<<"("<<x<<","<<y<<")-("<<x1<<","<<y1<<") "<<color<<" "<<fill<<endl; //(50,50)-(100,100) 5 10
 }
};
void main()
{
 RectangleFill rf;
 rf.Show();
 _getch();
}
В данном случае класс RectangleFill является наследником класса Rectangle, а класс Rectangle является в свою очередь наследником класса ColorPoint и т.д..
Такое наследование может продолжаться бесконечно. Соответственно, конструкторы и методы могут быть переопределены, как и конструкторы классов. Причем, мы можем использовать любой класс из этого дерева отдельно.

 

вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Многоуровневое наследование | TheLenka - Дневник Рыжей Девчонки | Лента друзей TheLenka / Полная версия Добавить в друзья Страницы: раньше»