Microsoft visual C++ и MFC© Александр Фролов, Григорий ФроловТом 24, М.: Диалог-МИФИ, 1993. Перегрузка имен функцийВ соответствии с правилами языка С различные функции, определенные в программе, должны иметь разные имена. Это не всегда удобно, так как могут быть несколько функций, выполняющих сходные действия, но немного отличающиеся по набору параметров. Язык С++ позволяет иметь несколько функций с одинаковыми именами, но различным набором параметров. Такие функции называются перегруженными XE "перегруженные функции" , так как одно и то же имя используется для обозначения различных функций. В качестве примера рассмотрим функции Sqware, предназначенные для вычисления площади прямоугольников и квадратов: int Sqware(int a, int b); int Sqware(int a); Как видите, эти функции имеют одинаковые имена, но разные параметры. Первая функция, предназначенная для вычисления площади прямоугольника имеет два параметра, задающие длины его сторон. Вторая функция позволяет вычислить площадь квадрата и содержит только один параметр, определяющий длину стороны квадрата. Вот определения этих функций: int Sqware(int a, int b) { return (a * b); } int Sqware(int a) { return (a * a); } Вы можете вызывать обе функции Sqware из своей программы. Компилятор определит по количеству и типу параметров, какую конкретно функцию надо выполнить: void main() { int value; value = Sqware(10, 20); print("Площадь прямоугольника равна %d", value); value = Sqware(10); print("Площадь квадрата равна %d", value); } |