Программирование на языке высокого уровня. Марапулец Ю.В. - 94 стр.

UptoLike

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

// a - не доступно для X
public: В
::с; // теперь с - public
int e;
int Xfunc (void);
};
int Efunc(X &x); // внешняя функция для X и В
В данном случае функция Efunc() может использовать из класса Х только с, е и
Xfunc (public-элементы). Функция Xfunc в Х имеет доступ к:
-
с (наследуется из В как public);
-
b, Bfunc (наследуются из В как private);
-
d, e, Xfunc (собственные элементы X).
Функция Xfunc не имеет доступа к элементу В
::а.
Если базовый класс наследуется с ключом private, можно выборочно сделать неко-
торые его элементы доступными в производном классе, объявив их в секции public про-
изводного класса с помощью операции доступа к области видимости:
class A
{
...
public:
void f();
};
class B : private A
{
...
public:
A::void f();
};
Наследование бывает простым и множественным. Простым называется наследова-
ние, при котором производный класс имеет
одного родителя. Множественное наследо-
вание означает, что класс имеет несколько базовых классов.
Рассмотрим пример с классом Name, использующий механизм наследования. Для
этого создадим дочерний класс Man, с полем возраст, методами - ввод и вывод для всех
полей обоих классов.
class Name
{
public:
char fam[10];
char name[10];
};
class Man: Name
{
int age;
public:
void ManPrint();
void ManInput();
};
void Man::ManPrint()
{
94
      // a - не доступно для X
      public: В::с; // теперь с - public
         int e;
         int Xfunc (void);
};
int Efunc(X &x); // внешняя функция для X и В

     В данном случае функция Efunc() может использовать из класса Х только с, е и
Xfunc (public-элементы). Функция Xfunc в Х имеет доступ к:
- с (наследуется из В как public);
- b, Bfunc (наследуются из В как private);
- d, e, Xfunc (собственные элементы X).
Функция Xfunc не имеет доступа к элементу В::а.
     Если базовый класс наследуется с ключом private, можно выборочно сделать неко-
торые его элементы доступными в производном классе, объявив их в секции public про-
изводного класса с помощью операции доступа к области видимости:

class A
{
      ...
      public:
        void f();
};
class B : private A
{
      ...
      public:
        A::void f();
};

     Наследование бывает простым и множественным. Простым называется наследова-
ние, при котором производный класс имеет одного родителя. Множественное наследо-
вание означает, что класс имеет несколько базовых классов.
     Рассмотрим пример с классом Name, использующий механизм наследования. Для
этого создадим дочерний класс Man, с полем возраст, методами - ввод и вывод для всех
полей обоих классов.

class Name
{
       public:
                 char fam[10];
                 char name[10];
};
class Man: Name
{
       int age;
       public:
               void ManPrint();
               void ManInput();
};
void Man::ManPrint()
{

                                           94