Составители:
Рубрика:
// 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
Страницы
- « первая
- ‹ предыдущая
- …
- 92
- 93
- 94
- 95
- 96
- …
- следующая ›
- последняя »
