Объектно-ориентированный язык программирования С++ в примерах. Сивохин А.В. - 75 стр.

UptoLike

Составители: 

public:
myshape(point,point);/*-конструктор лица; */
~myshape(); /*-деструктор лица; */
void draw(); /*-построитель лица; */
void move(int,int); /*-изменение коорди- */
/* нат базовых точек; */
};/*-конец определения класса лицо человека; */
myshape::myshape(point a,point b):rectangle(a,b)
/*-конструктор лица*/
{ int ll=neast().x-swest().x+1;/*-ширина лица; */
int hh=neast().y-swest().y+1;/*-высота лица; */
l_eye=new line(point(swest().x+2,/*-левый глаз;*/
swest().y+hh*3/4),2);
r_eye=new line(point(swest().x+ll-4,/*-правый; */
swest().y+hh*3/4),2);
mouth=new line(point(swest().x+2, /*-рот; */
swest().y+hh/4),ll-4);
} /*-конец определения конструктора лица; */
myshape::~myshape() /*-деструктор лица*/
{ delete l_eye;
delete r_eye;
delete mouth;
} /*-конец определения деструктора лица; */
Заметим, что нос не задан в классе myshape,его просто до-
бавляют к изображению функция draw():
void myshape::draw() /*-функция построения лица человека; */
{ rectangle::draw();
put_point(point((swest().x+neast().x)/2,
(swest().y+neast().y)/2));
} /*-конец функции построения лица; */
Изображение лица передвигается посредством перемещения ба-
зового прямоугольника и вторичных объектов:левого глаза,пра-
вого глаза и рта:
75
         public:
                   myshape(point,point);/*-конструктор лица;     */
               ~myshape();               /*-деструктор лица;     */
                   void draw();          /*-построитель лица;    */
                   void move(int,int);   /*-изменение коорди-    */
                                         /* нат базовых точек; */
       };/*-конец определения класса лицо человека;              */


  myshape::myshape(point a,point b):rectangle(a,b)
                                            /*-конструктор лица*/
          { int ll=neast().x-swest().x+1;/*-ширина лица;         */
            int hh=neast().y-swest().y+1;/*-высота лица;         */
            l_eye=new line(point(swest().x+2,/*-левый глаз;*/
                                    swest().y+hh*3/4),2);
             r_eye=new line(point(swest().x+ll-4,/*-правый; */
                                    swest().y+hh*3/4),2);
             mouth=new line(point(swest().x+2, /*-рот;           */
                                    swest().y+hh/4),ll-4);
           } /*-конец определения конструктора лица;             */


  myshape::~myshape()                        /*-деструктор лица*/
          { delete l_eye;
            delete r_eye;
            delete mouth;
          } /*-конец определения деструктора лица;               */


  Заметим, что нос не задан в классе myshape,его просто до-
бавляют к изображению функция draw():


 void myshape::draw() /*-функция построения лица человека; */
                { rectangle::draw();
                    put_point(point((swest().x+neast().x)/2,
                                    (swest().y+neast().y)/2));
                } /*-конец функции построения лица;              */


  Изображение лица передвигается посредством перемещения ба-
зового прямоугольника и вторичных объектов:левого глаза,пра-
вого глаза и рта:
                              75