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

UptoLike

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

Point::Point(int NewX,int NewY,Boolean NewVisible)
{ x =NewX;
y =NewY;
Visible=NewVisible;
} /*-конец определения функции инициализации; */
Чтобы можно было пользоваться этой функцией для инициали-
зации объектов типа Point,необходимо включить описание этой
функции в само определение Point:
struct Point: /*-точка на экране в графическом режиме: */
Location /*-позиция: */
{ Boolean Visible;/*-видимость точки на экране; */
Point(int NewX,int NewY,Boolean NewVisible);
};/*-конец определения точки на экране; */
Приведем несколько примеров определения объектов типа Point
с одновременной их инициализацией:
Point VarPoint=Point(0,0,true);/*-полная запись; */
Point VarPoint Point(0,0,true);/*-сокращенная запись; */
Point VarPoint(0,0,true);/*-компактное определение объек-*/
/* та и его инициализация;такая */
/* форма наиболее употребительна*/
Point* PtrPoint=new Point(0,0,true);/*-выделяется место */
/* для объекта типа Point и происходит инициализа-*/
/* ция его полей; */
typedef struct Point* PointPtr;
PointPtr DynPoint=new Point(0,0,true);
Функцию инициализации можно определить и внутри структуры
Point следующим образом:
struct Point: /*-точка на экране в графическом режиме: */
Location /*-позиция; */
{ Boolean Visible;/*-видимость точки на экране; */
Point(int NewX,int NewY,Boolean NewVisible)
{ x=NewX;y=NewY;Visible=NewVisible; }
};/*-конец определения структуры Point; */
12
 Point::Point(int NewX,int NewY,Boolean NewVisible)
             { x      =NewX;
               y      =NewY;
               Visible=NewVisible;
             } /*-конец определения функции инициализации; */


 Чтобы можно было пользоваться этой функцией для инициали-
зации объектов типа Point,необходимо включить описание этой
функции в само определение Point:


  struct Point: /*-точка на экране в графическом режиме:      */
                Location /*-позиция:                          */
         { Boolean Visible;/*-видимость точки на экране;      */
           Point(int NewX,int NewY,Boolean NewVisible);
         };/*-конец определения точки на экране;              */


   Приведем несколько примеров определения объектов типа Point
 с одновременной их инициализацией:
   Point VarPoint=Point(0,0,true);/*-полная запись;           */
   Point VarPoint Point(0,0,true);/*-сокращенная запись;      */
   Point VarPoint(0,0,true);/*-компактное определение объек-*/
                              /* та и его инициализация;такая */
                              /* форма наиболее употребительна*/
   Point* PtrPoint=new Point(0,0,true);/*-выделяется место    */
          /* для объекта типа Point и происходит инициализа-*/
          /* ция его полей;                                   */
   typedef struct Point* PointPtr;
   PointPtr DynPoint=new Point(0,0,true);


  Функцию инициализации можно определить и внутри структуры
Point следующим образом:


  struct Point: /*-точка на экране в графическом режиме:      */
                Location /*-позиция;                          */
         { Boolean Visible;/*-видимость точки на экране;      */
           Point(int NewX,int NewY,Boolean NewVisible)
                { x=NewX;y=NewY;Visible=NewVisible;      }
          };/*-конец определения структуры Point;              */
                              12