Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Упражнения. Внутреннее связывание – это подстановка компилятором вместо вызова функции команд ее кода

Вопросы

Набор для практики

Краткие итоги

Ключевые термины

Внутреннее связывание – это подстановка компилятором вместо вызова функции команд ее кода.

Перегрузка функций – это создание нескольких функций с одним именем, но с разными параметрами.

Подставляемые или встраиваемые (inline) функции – это функции, код которых вставляется компилятором непосредственно на место вызова, вместо передачи управления единственному экземпляру функции.

Полиморфизм функций – это перегрузка функций.

 

1. Механизм многократных вызовов функции в программном коде сопряжен с временными затратами.

2. Для сокращения времени на многократные вызовы одной и той же функции используются подставляемые функции.

3. Ограничения на выполнение подстановки в основном зависят от реализации.

4. В С++ реализован полиморфизм функций, заключающийся в объявлении функций с одинаковыми именами, но разными параметрами.

5. Перегруженные функции могут различаться количеством и типом параметров, а также выполняемыми действиями.

6. При использовании перегруженных функций следует избегать ошибок при объявлении функций.

7. Преимущества использования перегруженных функций связаны с удобством работы с программным кодом и разработкой функций пользователя.

 

1. Чем отличается механизм вызова встраиваемой и обычной пользовательских функций?

2. На каком этапе выполнения программы происходит встраивание кода подставляемой функции?

3. Почему не рекомендуется встраивать функции с большим кодом?

4. Как будет выполняться программа, если размер кода подставляемой функции превосходит допустимый свободный размер памяти?

5. С какой целью в программировании реализован полиморфизм функций?

6. Каким образом компилятор определяет, какую из перегруженных функций необходимо вызвать в программном коде?

7. Могут ли перегруженные функции возвращать результат одного типа? Ответ обоснуйте.

 

1. Наберите коды программ из Примеров 1–3. Выполните компиляцию и запуск программ.

2. Составьте программу для решения задачи. Определите значение

,

где max(x, у) есть максимальное из чисел x, у. Разработайте функции нахождения максимального из двух целых и вещественных чисел.

3. Составьте программу для решения задачи. Найдите периметр треугольника, заданного координатами своих вершин (считать, что треугольник существует). Разработайте функции нахождения расстояния между двумя точками, заданными своими координатами. Предусмотрите только случаи двумерного и трехмерного пространств.

4. Составьте программу для решения задачи. Выясните, что больше: среднее арифметическое или среднее геометрическое трех положительных чисел. Разработайте перегруженные функции нахождения среднего арифметического и среднего геометрического трех целых и вещественных чисел.

5. Составьте программу, которая в зависимости от входных данных переводит часы и минуты в минуты или минуты – в часы и минуты. Используйте перегруженные функции. Например, при вводе 134 мин будет выдано значение 2 час 14 мин, а при вводе 2 час 14 мин – значение 134 мин.

 

 

Литература

1. Керниган, Б. Язык программирования Си / Б. Керниган, Д. Ритчи. – М.: Вильямс, 2007. – 304 с.

2. Подбельский, В.В. Практикум по программированию на языке Си: учеб. пособие / В.В. Подбельский. – М.: Финансы и статистика, 2004. – 576 с.

3. Подбельский, В.В. Программирование на языке Си: учеб. пособие / В.В. Подбельский, С.С. Фомин. – М.: Финансы и статистика, 2004. – 600 с.

4. Подбельский, В.В. Язык Си++: учеб. пособие / В.В. Подбельский. – М.: Финансы и статистика, 2005. – 560 с.

5. Романов, Е.Л. Практикум по программированию на языке С++: учеб. пособие / Е.Л. Романов. – СПб: БХВ-Петербург, 2004. – 432 с.

6. С/С++. Структурное программирование: практикум / Т.А. Павловская, Ю.А. Щупак. – СПб: Питер, 2004. – 239 с.


<== предыдущая лекция | следующая лекция ==>
Перегрузка функции | Текст лекции. Лекция 3. Рекурсивные функции
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 454; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.