Составители:
Рубрика:
36 Глава 3. Классы
int fb() {return b;} //2
int fc() {return c;} //3
int fd() {return d;} //4
};
В рассмотренном примере 1 и 4 верно, т. к. переменные a и d объяв-
лены public, 2 верно, т. к. переменная b объявлена protected, 3 невер-
но, т. к. переменная c объявлена private и доступна только внутри
класса или в друзьях класса.
Отметим, что контролируется доступ к членам класса, но не их
видимость.
int i;
class X
{
private:
int i;
};
class Y: public X
{
void f() { i++; } // ошибка
};
Переменная i объявлена private в классе X, поэтому возникает
ошибка. Если бы i была невидима в классе Y, то она рассматривалась
бы как глобальная переменная и ошибки бы не было.
3.3. Наследование
В языке С++ одни классы (производные) могут наследовать пе-
ременные и функции других классов (базовых). Также в языке C++
разрешено множественное наследование, т. е. класс может быть по-
рожден из любого числа базовых классов.
class base
{
36 Глава 3. Классы int fb() {return b;} //2 int fc() {return c;} //3 int fd() {return d;} //4 }; В рассмотренном примере 1 и 4 верно, т. к. переменные a и d объяв- лены public, 2 верно, т. к. переменная b объявлена protected, 3 невер- но, т. к. переменная c объявлена private и доступна только внутри класса или в друзьях класса. Отметим, что контролируется доступ к членам класса, но не их видимость. int i; class X { private: int i; }; class Y: public X { void f() { i++; } // ошибка }; Переменная i объявлена private в классе X, поэтому возникает ошибка. Если бы i была невидима в классе Y, то она рассматривалась бы как глобальная переменная и ошибки бы не было. 3.3. Наследование В языке С++ одни классы (производные) могут наследовать пе- ременные и функции других классов (базовых). Также в языке C++ разрешено множественное наследование, т. е. класс может быть по- рожден из любого числа базовых классов. class base {
Страницы
- « первая
- ‹ предыдущая
- …
- 34
- 35
- 36
- 37
- 38
- …
- следующая ›
- последняя »