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

UptoLike

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

typedef enum{false,true} Boolean;/*-булевский тип; */
class Point: /*-точка на экране в графическом режиме: */
public Location /*-базовый класс позиция; */
{ Boolean Visible;/*-видимость точки на экране; */
public: /*-открытая часть класса; */
Point(int x,int y,Boolean Visible):/*конструктор; */
Location(x,y)/*-вызов базового конструктора; */
{ this->Visible=Visible;/*-инициализация поля*/
} /* класса Point; */
~Point() { } /*-пустой деструктор класса; */
Boolean /*-состояние видимости точки на экране; */
GetVisible() { return Visible; }
void Print() /*-печать координат и состояния точки: */
{ Location::Print();/*-печать координат; */
cout<<" Visible="<<Visible?'*':' ';
}
};/*-конец определения класса точка; */
В производном классе Point функция Print переопределяется.
Для доступа к функции Print базового класса используется пре-
фикс Location :: .
Вернемся опять к структурам.Оказывается,что и в структурах
можно получить тот же самый результат,используя спецификатор
private(личный).По определению структура - это просто класс,
все члены которого открыты,т.е.
struct Location { ... };
есть просто сокращенная запись для
struct Location { public:... };
Структуры используются в тех случаях,когда не требуется за-
щита данных.Посмотрим,тем не менее,как выглядит рассматрива-
емый пример,когда в нем используются структуры и специфика-
тор доступа private:
16
 typedef enum{false,true} Boolean;/*-булевский тип;           */


 class Point: /*-точка на экране в графическом режиме:        */
             public Location /*-базовый класс позиция;        */
       { Boolean Visible;/*-видимость точки на экране;        */
   public: /*-открытая часть класса;                          */
         Point(int x,int y,Boolean Visible):/*конструктор; */
              Location(x,y)/*-вызов базового конструктора; */
              { this->Visible=Visible;/*-инициализация поля*/
              }                         /* класса Point;      */
        ~Point() { } /*-пустой деструктор класса;             */
   Boolean /*-состояние видимости точки на экране;             */
         GetVisible() { return Visible; }
    void Print() /*-печать координат и состояния точки:        */
              { Location::Print();/*-печать координат;         */
                  cout<<"   Visible="<