Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Class clerk: private chief




{ int b;

public:

void set_ab (int n, int m) {set_a(n);b=m;}

void show_b( ) {cout <<b<<’\n’;}

void show_a( ) {cout <<get a( )<<’\n’;}

};

void main( )

{clerk.obj;

obj.set_ab(2500,500);

obj.show_b( );

obj.show_a( );

}

Т.к. при наследовании с типом private получить доступ к “наследству” можно только через открытые члены “наследника”, то в классе clerk проектируется функция для ввода значения закрытой переменной “a” базового класса и вторая функция – для вывода этого значения на экран. Однако доступ к “a” возможен только через открытые члены базового класса, которые и выступают в этих функциях в качестве посредников.

10. Защищенные члены классов.

 

Члены класса
Из вышеизложенного все больше проступает неудобство работы с закрытыми членами базового класса в производном классе. Чтобы допустить членов производного класса к общению с private-членами базового класса, введен спецификатор доступа protected(защищенный).

}  
закрытые члены
Теперь члены класса разделены на три группы: private, protected и public. Спецификатор protected может располагаться в любом месте описания класса, но обычно он располагается перед public . И это оправдано, потому что protected-члены – это часть закрытых членов базового класса, к которым напрямую могут обращаться члены производных классов.

 

11. Правила наследования защищенных членов классов

 

Правила наследования:

1. Когда базовый класс наследуется производным как public, защищенные члены базового класса становятся защищенными членами производного класса.

2.Когда базовый класс наследуется как закрытый, то защищенные члены базового становятся private-членами производного (аналогично и public-члены).

 

 
 

 


3.Если базовый класс наследуется как защищенный, то открытые и защищенные члены базового класса наследуются как protected.

#include <iostream.h>


Поделиться:

Дата добавления: 2015-01-19; просмотров: 56; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты