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

UptoLike

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

put_line(ne,se); /*-правая сторона; */
put_line(se,sw); /*-нижняя сторона; */
put_line(sw,nw); /*-левая сторона; */
} /*-конец функции построения прямоугольника; */
Прямоугольник определяется двумя точками:юго-западной sw и
северо-восточной ne.Функция усложняется из-за необходимости
выяснять относительное положение этих точек:
rectangle::rectangle(point a,point b) /*-конструктор; */
{ if(a.x<=b.x) /*-точка a левее точки b; */
{ if(a.y<=b.y)/*-точка a ниже точки b; */
{ sw=a;
ne=b;
}
else /*-точка a выше точки b; */
{ sw=point(a.x,b.y);
ne=point(b.x,a.y);
}
}
else /*-точка b левее точки a; */
{ if(a.y<=b.y) /*-точка a ниже точки b; */
{ sw=point (b.x,a.y);
ne=point(a.x,b.y);
}
else /*-точка a выше точки b; */
{ sw=b;
ne=a;
}
}
} /*-конец определения конструктора прямоугольни- */
/* ка по двум точкам a и b; */
Функция shape_refresh() обновляет экран,рисуя все фигуры
списка shape_list заново,при этом она не располагает инфор-
мацией,какие фигуры надо рисовать.Это знает функция draw(),
задаваемая в элементе списка.
73
         put_line(ne,se);              /*-правая сторона;              */
         put_line(se,sw);              /*-нижняя сторона;              */
         put_line(sw,nw);              /*-левая сторона;               */
       } /*-конец функции построения прямоугольника;                   */


  Прямоугольник определяется двумя точками:юго-западной sw и
северо-восточной ne.Функция усложняется из-за необходимости
выяснять относительное положение этих точек:


  rectangle::rectangle(point a,point b) /*-конструктор;                */
             { if(a.x<=b.x)              /*-точка a левее точки b;     */
                   { if(a.y<=b.y)/*-точка a ниже точки b;              */
                          { sw=a;
                               ne=b;
                          }
                        else             /*-точка a выше точки b;      */
                          { sw=point(a.x,b.y);
                              ne=point(b.x,a.y);
                          }
              }
            else                        /*-точка b левее точки a;      */
              { if(a.y<=b.y)            /*-точка a ниже точки b;       */
                    { sw=point (b.x,a.y);
                         ne=point(a.x,b.y);
                    }
                  else                  /*-точка a выше точки b;     */
                   { sw=b;
                        ne=a;
                   }
             }
         } /*-конец определения конструктора прямоугольни- */
           /* ка по двум точкам a и b;                               */


 Функция shape_refresh() обновляет экран,рисуя все фигуры
списка shape_list заново,при этом она не располагает инфор-
мацией,какие фигуры надо          рисовать.Это знает функция draw(),
задаваемая в элементе списка.


                                   73