🗊Презентация Множественное наследие

Категория: Образование
Нажмите для полного просмотра!
Множественное наследие, слайд №1Множественное наследие, слайд №2Множественное наследие, слайд №3Множественное наследие, слайд №4Множественное наследие, слайд №5Множественное наследие, слайд №6Множественное наследие, слайд №7Множественное наследие, слайд №8Множественное наследие, слайд №9Множественное наследие, слайд №10Множественное наследие, слайд №11Множественное наследие, слайд №12Множественное наследие, слайд №13Множественное наследие, слайд №14Множественное наследие, слайд №15Множественное наследие, слайд №16Множественное наследие, слайд №17Множественное наследие, слайд №18Множественное наследие, слайд №19Множественное наследие, слайд №20Множественное наследие, слайд №21Множественное наследие, слайд №22Множественное наследие, слайд №23Множественное наследие, слайд №24Множественное наследие, слайд №25Множественное наследие, слайд №26Множественное наследие, слайд №27Множественное наследие, слайд №28Множественное наследие, слайд №29Множественное наследие, слайд №30Множественное наследие, слайд №31Множественное наследие, слайд №32Множественное наследие, слайд №33Множественное наследие, слайд №34

Содержание

Вы можете ознакомиться и скачать презентацию на тему Множественное наследие. Доклад-сообщение содержит 34 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Тест с отчетом 1
1) Скомпилируется ли следующий код:
Описание слайда:
Тест с отчетом 1 1) Скомпилируется ли следующий код:

Слайд 2





Наследование
Варианты…
Описание слайда:
Наследование Варианты…

Слайд 3





Множественное наследование - определение
Описание слайда:
Множественное наследование - определение

Слайд 4





Аргументы конструкторов
Описание слайда:
Аргументы конструкторов

Слайд 5





Виртуальные базовые классы
Описание слайда:
Виртуальные базовые классы

Слайд 6





Виртуальные базовые классы - пример
Описание слайда:
Виртуальные базовые классы - пример

Слайд 7





Виртуальные базовые классы - пример
Описание слайда:
Виртуальные базовые классы - пример

Слайд 8





Виртуальные базовые классы - пример
Описание слайда:
Виртуальные базовые классы - пример

Слайд 9





Множественное наследование на примере (1)
Описание слайда:
Множественное наследование на примере (1)

Слайд 10





Множественное наследование на примере (2)
Описание слайда:
Множественное наследование на примере (2)

Слайд 11





Множественное наследование на примере
Описание слайда:
Множественное наследование на примере

Слайд 12





Множественное наследование на примере
Описание слайда:
Множественное наследование на примере

Слайд 13





Множественное наследование на примере
Описание слайда:
Множественное наследование на примере

Слайд 14





Множественное наследование на примере
Описание слайда:
Множественное наследование на примере

Слайд 15





Организация списка разнородных элементов
Рассмотрим пример программы, которая основана на использовании виртуальных функций.
Описание слайда:
Организация списка разнородных элементов Рассмотрим пример программы, которая основана на использовании виртуальных функций.

Слайд 16





Пример программы (1)
Абстрактный базовый класс для организации списка
Описание слайда:
Пример программы (1) Абстрактный базовый класс для организации списка

Слайд 17





Пример программы (1)
Абстрактный базовый класс для организации списка
Описание слайда:
Пример программы (1) Абстрактный базовый класс для организации списка

Слайд 18





Пример программы (2)
Конструктор и  метод печати заданного множества
Описание слайда:
Пример программы (2) Конструктор и метод печати заданного множества

Слайд 19





Пример программы (3)
Метод удаления заданного множества
Описание слайда:
Пример программы (3) Метод удаления заданного множества

Слайд 20





Пример программы (4)
Базовый класс для работы с множествами
Описание слайда:
Пример программы (4) Базовый класс для работы с множествами

Слайд 21





Пример программы (5)
Элемент множества – целое число
Описание слайда:
Пример программы (5) Элемент множества – целое число

Слайд 22





Пример программы (6)
Головная программа - тест
Описание слайда:
Пример программы (6) Головная программа - тест

Слайд 23





Повтор некоторых деталей - 1
  Виртуальная функция и ее порожденные экземпляры, имеющие одну и ту же сигнатуру, должны иметь один и тот же возвращаемый тип. Перекрытие виртуальной функции называется переопределением. 
Внимание! Невиртуальные функции–члены, имеющие ту же самую сигнатуру в порожденных классах, могут иметь различный возвращаемый тип.
  Конструкторы и деструкторы не имеют возвращаемых типов. Тип, возвращаемый перегруженным оператором new должен быть void*. Тип, возвращаемый перегруженным оператором delete должен быть void.
  Все функции-члены, за исключением конструкторов и перегруженных операторов new и delete, могут быть виртуальными.
  Конструкторы, деструкторы, перегруженный operator= и friend функции не наследуются.
Описание слайда:
Повтор некоторых деталей - 1 Виртуальная функция и ее порожденные экземпляры, имеющие одну и ту же сигнатуру, должны иметь один и тот же возвращаемый тип. Перекрытие виртуальной функции называется переопределением. Внимание! Невиртуальные функции–члены, имеющие ту же самую сигнатуру в порожденных классах, могут иметь различный возвращаемый тип. Конструкторы и деструкторы не имеют возвращаемых типов. Тип, возвращаемый перегруженным оператором new должен быть void*. Тип, возвращаемый перегруженным оператором delete должен быть void. Все функции-члены, за исключением конструкторов и перегруженных операторов new и delete, могут быть виртуальными. Конструкторы, деструкторы, перегруженный operator= и friend функции не наследуются.

Слайд 24





Повтор некоторых деталей - 2
  Перегрузка операторов =, (), [] и -> может быть выполнена только нестатическими функциями-членами. Перегрузка операторов new и delete может быть выполнена только статическими функциями-членами. Прочие перегружаемые операторы могут быть выполнены любыми другими функциями, дружественными или обычными.  Операторы ввода/вывода потоков >> и << не могут перегружаться функциями-членами класса – только дружественными.
  Union могут иметь конструкторы и деструкторы, но не виртуальные функции. Union не может ни служить базовым классом, ни иметь базового класса.
  Модификация доступа при наследовании возможна, но его использование с общим наследованием разрушает связь подтипов. Модификация доступа не может расширять видимость.
Описание слайда:
Повтор некоторых деталей - 2 Перегрузка операторов =, (), [] и -> может быть выполнена только нестатическими функциями-членами. Перегрузка операторов new и delete может быть выполнена только статическими функциями-членами. Прочие перегружаемые операторы могут быть выполнены любыми другими функциями, дружественными или обычными. Операторы ввода/вывода потоков >> и << не могут перегружаться функциями-членами класса – только дружественными. Union могут иметь конструкторы и деструкторы, но не виртуальные функции. Union не может ни служить базовым классом, ни иметь базового класса. Модификация доступа при наследовании возможна, но его использование с общим наследованием разрушает связь подтипов. Модификация доступа не может расширять видимость.

Слайд 25





Повтор некоторых деталей - 3
  Термин перегрузка относится к использованию одного и того же имени для множества значений оператора или функции. Выбор значения зависит от типов параметров, используемых оператором или функцией.
  Список параметров функции называется сигнатурой. При проверке сигнатуры существует три возможности:  наилучшее соответствие, неоднозначное соответствие и отсутствие соответствия. Без наилучшего соответствия компилятор выдает соответствующую ошибку синтаксиса.
Описание слайда:
Повтор некоторых деталей - 3 Термин перегрузка относится к использованию одного и того же имени для множества значений оператора или функции. Выбор значения зависит от типов параметров, используемых оператором или функцией. Список параметров функции называется сигнатурой. При проверке сигнатуры существует три возможности: наилучшее соответствие, неоднозначное соответствие и отсутствие соответствия. Без наилучшего соответствия компилятор выдает соответствующую ошибку синтаксиса.

Слайд 26





Повтор некоторых деталей - 4
Пусть функция print описана как 
void print( int i = 0);   // сигнатура int
void print( int i, double x);  // сигнатура int, double
void print(double x, int i); // сигнатура double, int

Вызов:
print (‘A’);              // преобразует и соответствует int 
print (str[]);           // нет соответствия – неправильный тип
print (15,9);           // неоднозначно
print ();                 // соответствует int по умолчанию
print (15, 9.2);        // соответствует int, double
Описание слайда:
Повтор некоторых деталей - 4 Пусть функция print описана как void print( int i = 0); // сигнатура int void print( int i, double x); // сигнатура int, double void print(double x, int i); // сигнатура double, int Вызов: print (‘A’); // преобразует и соответствует int print (str[]); // нет соответствия – неправильный тип print (15,9); // неоднозначно print (); // соответствует int по умолчанию print (15, 9.2); // соответствует int, double

Слайд 27





Повтор некоторых деталей - 5
Существует два этапа алгоритма выбора соответствия сигнатуры. Первый этап определяет лучшее соответствие для каждого параметра. На втором этапе проверяется, есть ли функция, которая уникально лучше всего соответствует по каждому параметру.
Лучшее соответствие – это значит точное соответствие.  Оно также включает в себя и тривиальные преобразования.
Из                        В                              Из              В
T                         T&                             T*            const T*
T&                       T                               T*            volatile T* 
T                         const T                       T&           const T&
T                         volatile T                     T&           volatile T& 
T[ ]                      T*
T (параметры)     (*T) (параметры)
Описание слайда:
Повтор некоторых деталей - 5 Существует два этапа алгоритма выбора соответствия сигнатуры. Первый этап определяет лучшее соответствие для каждого параметра. На втором этапе проверяется, есть ли функция, которая уникально лучше всего соответствует по каждому параметру. Лучшее соответствие – это значит точное соответствие. Оно также включает в себя и тривиальные преобразования. Из В Из В T T& T* const T* T& T T* volatile T* T const T T& const T& T volatile T T& volatile T& T[ ] T* T (параметры) (*T) (параметры)

Слайд 28





Повтор некоторых деталей - 6
Алгоритм выбора перегруженных функций:
Использовать точное соответствие, если оно найдено.
Проверить поддержку стандартных типов
Проверить стандартные преобразования типов
Проверить преобразования, определяемые пользователем
Использовать соответствие для аргументов, если оно найдено
Описание слайда:
Повтор некоторых деталей - 6 Алгоритм выбора перегруженных функций: Использовать точное соответствие, если оно найдено. Проверить поддержку стандартных типов Проверить стандартные преобразования типов Проверить преобразования, определяемые пользователем Использовать соответствие для аргументов, если оно найдено

Слайд 29





Тесты …
Вопрос: Что напечатает программа:
Описание слайда:
Тесты … Вопрос: Что напечатает программа:

Слайд 30





Тесты …
Вопрос: Что напечатает программа:
Описание слайда:
Тесты … Вопрос: Что напечатает программа:

Слайд 31





Тесты …
Вопрос: в каких строках есть ошибки:
Описание слайда:
Тесты … Вопрос: в каких строках есть ошибки:

Слайд 32





Тесты …
Вопрос: в каких строках есть ошибки:
Описание слайда:
Тесты … Вопрос: в каких строках есть ошибки:

Слайд 33





Тесты …
Вопрос: Что будет выведено на экран?
Описание слайда:
Тесты … Вопрос: Что будет выведено на экран?

Слайд 34





Тесты …
Вопрос: Что будет выведено на экран?
Описание слайда:
Тесты … Вопрос: Что будет выведено на экран?



Похожие презентации
Mypresentation.ru
Загрузить презентацию