Автор конспекта:
Автор(ы): — Дяжур Игорь

Место работы, должность: —

Студент ИТО

МГПИ

Регион: — Город Москва

Характеристика конспекта:
Уровни образования: — начальное профессиональное стяжение

Предмет(ы): — Информатика и ИКТ

Целевая аудитория: — Учащийся (студент)

Тип ресурса: — докторальный материал

Краткое описание ресурса: —

Учебник по C++ чтобы начинающих. Часть 5. Наследование и шаблоны.

Часть 5. Наследование и шаблоны

Урок 26. Наследование

Цель объектно-ориентированного программирования состоит в повторном использовании созданных вами классов, ась экономит ваше период и силы. Если вы сейчас создали некий класс, к примеру сказать возможны ситуации, ась новому классу нужны многие разве даже все особенности сейчас существующего класса, и надо добавить один разве каплю элементов данных разве функций. В таких случаях C++ позволяет вы строить недержаный объект, используя характеристики сейчас существующего объекта. Другими словами, недержаный вариообъект будет наследовать элементы существующего класса (называемого базовым классом). Когда вы строите недержаный автокласс из существующего, таковой недержаный автокласс поминутно называется производным классом. В этом уроке впервые вводится наследование классов в C++ . К концу данного урока вы изучите следующие основные концепции:

5. Ели ваши программы используют наследование, к примеру сказать чтобы порождения нового класса необходим базовый класс, т.е. недержаный автокласс наследует элементы базового класса.

6. Для инициализации элементов производного класса ваша драйвер должна вызвать конструкторы базового и производного классов.

7. Используя оператор точку, программы могут просто обращаться к элементам базового и производного классов.

8. В пополнение к общим (public) (доступным всем) и частным (private) (доступным методам класса) элементам C++ предоставляет защищенные (protected) элементы, которые доступны базовому и производному классам.

9. Для разрешения конфликта имен между элементами базового и производного классов ваша драйвер вероятно использовать оператор глобального разрешения, указывая пред ним имя базового разве производного класса.

Наследование является фундаментальной концепцией объектно-ориентированного программирования. Выберите период чтобы экспериментов с программами, представленными в этом уроке. И вы обнаружите, ась осязаемо наследование реализуется смерть просто и вероятно сохранить огромные усилия, затрачиваемые на программирование.

ПРОСТОЕ НАСЛЕДОВАНИЕ

Наследование представляет внешне гений производного класса наследовать характеристики существующего базового класса. Например, предположим, ась у вас есть базовый автокласс employee:

class employee

{
public:
employee(char *, char *, float);
void show_employee(void);
private:
char name[64];
char position[64];
float salary;
};

Далее предположим, ась вашей программе нужно автокласс manager, какой добавляет следующие элементы данных в автокласс employee:

float annual_bonus;
char company_car[64];
int stock_options;

В данном случае ваша драйвер вероятно выбрать двойка варианта: во-первых, драйвер вероятно создать недержаный автокласс manager, какой дублирует многие элементы класса employee, разве драйвер вероятно породить автокласс типа manager из базового класса employee. Порождая автокласс manager из существующего класса employee, вы снижаете количество требуемого программирования и исключаете контратипирование заключение внутри вашей программы.

Для определения сего класса вы должны указать ключевое выступление class, имя manager, следующее за ним знак и имя employee, точно показано ниже:

Производныйкласс//——> class manager : public employee { Базовыйкласс

// Здесь определяются элементы
};

Ключевое выступление public, которое предваряет имя класса employee, указывает, ась общие (public) элементы класса employee опять же являются общими и в классе manager. Например, следующиеоператорыпорождаютклассmanager.

class manager : public employee

{
public:
manager(char *, char *, char *, float, float, int);
void show_manager(void);
private:
float annual_bonus;
char company_car[64];
int stock_options;
};

Когда вы порождаете автокласс из базового класса, частные элементы базового класса доступны производному классу всего-навсего через интерфейсные функции базового класса. Таким образом, проистекший автокласс не вероятно начистую обратиться к частным элементам базового класса, используя оператор точку.

Следующая драйвер MGR_EMP.CPP иллюстрирует оборот наследования в C++ , создавая автокласс manager из базового класса employee:

#include

#include

class employee

{
public:
employee(char *, char *, float);
void show_employee(void);
private:
char name [ 64 ];
char position[64];
float salary;
};

employee::employee(char *name, char *position,float salary)

{
strcpy(employee::name, name);
strcpy(employee::position, position);
employee::salary = salary;
}

void employee::show_employee(void)

{
cout

( план – конспект урока 1 класс 5 класс. 6 класс 7 класс 8 класс 9 класс 10 класс Английский язык Литературное чтение Математика Музыка ОБЖ Окружающий мир Оренбургская область Физика ЦОР алгебра биология викторина внеклассное мероприятие география геометрия здоровье игра информатика история классный час конкурс конспект урока краеведение кроссворд литература начальная школа обществознание презентация программа проект рабочая программа русский язык тест технология урок химия экология