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

Наследование

Омск 2007 | Задания к лабораторной работе 1 | Class Boolean | Boolean dequeue::relocate(). | Class X | Задания к лабораторной работе 3 | ПОЛИМОРФИЗМ. ПЕРЕГРУЗКА ОПЕРАЦИЙ И ФУНКЦИЙ | Задания к лабораторной работе 4 | ДРУЖЕСТВЕННЫЕ ФУНКЦИИ | Задания к лабораторной работе 5 |


Читайте также:
  1. Глава 62. Наследование по завещанию
  2. Глава 63. Наследование по закону
  3. Глава 65. Наследование отдельных видов имущества
  4. Наследование
  5. Наследование
  6. Наследование по закону

Класс может наследовать характеристики и поведение одного или нескольких базовых классов, привнося новые свойства. Перед тем, как проектировать новый класс, надо определить, какими наиболее общими чертами должны обладать его объекты, и выяснить, нет ли уже готового похожего класса. Далее, от общего плана класса, постепенно детализируя его, строить новый.

Основная форма наследования:

class имя_наследующего_класса: режим_доступа наследуемый_класс..;

В языке C++ принято называть наследуемый класс базовым классом, наследу-ющий класс – производным классом. Режим_доступа – это одно из ключевых слов private, public или protected. Опция public означает, что все элементы типа public предка будут типа public для класса, который нас­ледует его. Общие (public) элементы могут быть доступны другим функциям программы. Приватные (private) элементы недоступны для производного класса, а доступны только функциям-членам класса или дружественным (friend) функциям. Защищенные (protected) элементы также могут быть доступны только функциям-членам класса или дружественным функциям.

Например:

class X // Базовый класс X

{ int i;

int j;

public:

void get_f(void);

void put_f(void);

};

class Y: public X // Производный класс Y

{ int m;

public:

int get_m(void);

void make_m(void);

};

Здесь Х – базовый класс, Y – производный класс. Функции-члены класса Y могут использовать общие функции get_f() и put_f(), но они не могут использовать i и j, так как они приватные для Х и, соответственно, недоступны для функций get_m(), put_m() класса Y.

Можно обеспечить доступ членов-функций класса Y к элементам i и j класса Х. Для этого в классе Х надо объявить их защищенными – protected:


Дата добавления: 2015-07-25; просмотров: 58 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Задания к лабораторной работе 2| Class Teach: public Student

mybiblioteka.su - 2015-2024 год. (0.005 сек.)