Глава 15
Перегрузка функций
Разработка программного обеспечения представляет собой сложный процесс. Главный акцент как при создании, так и при дальнейшем развитии языка C++ делался на снижении сложности программирования. Для преодоления возникающих проблем создавались и создаются новые языковые средства. Одной из таких проблем, общих для всех больших программных комплексов, является наличие в программах необозримого числа имен.
Перегрузка функций, с одной стороны, снижает необходимость отслеживать десятки и сотни имен функций. С другой стороны, она также обеспечивает поддержку ряда других средств языка. В этой главе демонстрируется, как использовать перегрузку функций и как с ее помощью сделать разрабатываемые вами функции понятнее и проще.
Понимание перегрузки функций закладывает фундамент для понимания других конструкций языка. Нами будут рассмотрены следующие вопросы:
• Перегружаемые функции
• Уточнение имен
• Перегрузка и аргументы по умолчанию
• Что нельзя перегружать
Основы перегрузки функций
Традиционные структурные языки требуют, чтобы у всех функций, независимо от того, похожи они или нет, были свои уникальные имена. Перегрузка функций (function overloading) дает возможность присваивать одинаковые имена разным функциям.