ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Перегрузка функции.- возможность использования одноимённых функций. Чтобы избежать дублирования функции, C++ позволяет вам определять несколько функций с одним и тем же именем. В процессе компиляции C++ принимает во внимание количество аргументов, используемых каждой функцией, и затем вызывает именно требуемую функцию. Предоставление компилятору выбора среди нескольких функций называется перегрузкой Например, следующая программа перегружает функцию с именем add_values. Первое определение функции складывает два значения типа int. Второе определение функции складывает три значения. В процессе компиляции C++ корректно определяет функцию, которую необходимо использовать: #include <iostream> int add_values(int a,int b) { return(a + b); ) int add_values (int a, int b, int c) ( return(a + b + c); ) void main(void) { cout << "200 + 801 = " << add_values(200, 801) << endl; cout << "100 + 201 + 700 = " << add_values(100, 201, 700) << endl; } Как видите, программа определяет две функции с именами add_values Первая функция складывает два значения типа int, в то время как вторая складывает три значения. Вы не обязаны что-либо предпринимать специально для того, чтобы предупредить компилятор о перегрузке, просто используйте ее. Компилятор разгадает, какую функцию следует использовать, основываясь на предлагаемых программой параметрах. Подобным образом следующая программа перегружает функцию show_message. Первая функция с именем show_message выводит стандартное сообщение, параметры ей не передаются. Вторая выводит передаваемое ей сообщение, а третья выводит два сообщения: #include <iostream.h> void show_message(void) { cout << "Стандартное сообщение: " << "Учимся программировать на C++" << endl; } void show_message(char *message) { cout << message << endl; } void show_message(char *first, char *second) { cout << first << endl; cout << second << endl; } void main(void) { show_message(); show_message("Учимся программировать на языке C++!"); show_message("B C++ нет предрассудков!","Перегрузка - это круто!"); }
Не нашли, что искали? Воспользуйтесь поиском:
|