ВУЗ:
Составители:
Рубрика:
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
В последнем случае возвращается временный объект, который
является копией объекта newGroup, сам объект newGroup
уничтожается, поскольку является локальной переменной функции
IntegrateGroup().
2.2.5. Полиморфизм
Слово «полиморфизм» означает «имеющий множество форм». В
программировании под полиморфизмом понимают использование одного
и того же имени для выполнения различных задач.
Полиморфизм – достаточно широкое понятие, в котором можно
выделить следующие формы:
• перегрузка функций;
• использование шаблонов функций;
• перегрузка операций;
• использование методов с одним и тем же именем в различных
классах, включая виртуальные функции;
• шаблоны классов.
Мы уже рассматривали перегруженные функции и шаблоны
функций, которые являются частным случаем полиморфизма (см. разделы
1.3, 1.4). Шаблоны классов будут рассмотрены позднее.
В этом разделе остановимся на изучении перегрузки операций и
использовании методов с одним и тем же именем в различных классах.
Перегрузка операций.
При проектировании классов, характеризующих поведение
математических объектов, удобно использовать традиционные
математические знаки операций для выполнения соответствующих
действий. Например, при сложении двух матриц было бы понятней
использовать операцию "+", а не вызывать функцию Summ() (тем более,
что другой программист может назвать эту функцию иным именем). Для
таких ситуаций в С++ появилось очень удобное средство, называемое
перегрузкой операций. Фактически многие операции языка С++
перегружены изначально. Например, операция "*", примененная к паре
чисел, дает их произведение, а примененная к переменной-указателю,
дает то значение, которое хранится по этому адресу (операция
разадресации). Другим примером уже перегруженной операции является
операция "/". Примененная к целым числам, она является операцией
целочисленного деления (25 / 10 = 2), а если хотя бы одно из чисел
78
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
В последнем случае возвращается временный объект, который
является копией объекта newGroup, сам объект newGroup
уничтожается, поскольку является локальной переменной функции
IntegrateGroup().
2.2.5. Полиморфизм
Слово «полиморфизм» означает «имеющий множество форм». В
программировании под полиморфизмом понимают использование одного
и того же имени для выполнения различных задач.
Полиморфизм – достаточно широкое понятие, в котором можно
выделить следующие формы:
• перегрузка функций;
• использование шаблонов функций;
• перегрузка операций;
• использование методов с одним и тем же именем в различных
классах, включая виртуальные функции;
• шаблоны классов.
Мы уже рассматривали перегруженные функции и шаблоны
функций, которые являются частным случаем полиморфизма (см. разделы
1.3, 1.4). Шаблоны классов будут рассмотрены позднее.
В этом разделе остановимся на изучении перегрузки операций и
использовании методов с одним и тем же именем в различных классах.
Перегрузка операций.
При проектировании классов, характеризующих поведение
математических объектов, удобно использовать традиционные
математические знаки операций для выполнения соответствующих
действий. Например, при сложении двух матриц было бы понятней
использовать операцию "+", а не вызывать функцию Summ() (тем более,
что другой программист может назвать эту функцию иным именем). Для
таких ситуаций в С++ появилось очень удобное средство, называемое
перегрузкой операций. Фактически многие операции языка С++
перегружены изначально. Например, операция "*", примененная к паре
чисел, дает их произведение, а примененная к переменной-указателю,
дает то значение, которое хранится по этому адресу (операция
разадресации). Другим примером уже перегруженной операции является
операция "/". Примененная к целым числам, она является операцией
целочисленного деления (25 / 10 = 2), а если хотя бы одно из чисел
78
Страницы
- « первая
- ‹ предыдущая
- …
- 76
- 77
- 78
- 79
- 80
- …
- следующая ›
- последняя »
