Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Результат, полученный при выполнении этой программы, выглядит так.10 20 30 Ошибка нарушения границ! Перегрузка функций — это механизм, который позволяет двум родственным функциям Иметь одинаковые имена. // "Трехкратная" перегрузка функции f(). #include <iostream> Using namespace std; void f(int i); // один целочисленный параметр void f(int i, int j); // два целочисленных параметра void f(double k); // один параметр типа double Int main() { f (10); // вызов функции f(int) f(10, 20); // вызов функции f (int, int) f(12.23); // вызов функции f(double) Return 0; } Void f(int i) { cout << "В функции f(int), i равно " << i << '\n'; } Void f(int i, int j) { cout << "В функции f(int, int), i равно " << i; cout << ", j равно " << j << '\n'; } Void f(double k) { cout << "В функции f(double), k равно " << k << ' \n'; } При выполнении эта программа генерирует следующие результаты. В функции f(int), i равно 10 В функции f(int, int), i равно 10, j равно 20 В функции f(double), к равно 12.23 Как видите, функция f() перегружается три раза. Первая версия принимает один Целочисленный параметр, вторая — два целочисленных параметра, а третья — один double- Параметр. Поскольку списки параметров для всех трех версий различны, компилятор обладает Достаточной информацией, чтобы вызвать правильную версию каждой функции. В общем случае Для создания перегрузки некоторой функции достаточно объявить различные ее версии. Для определения того, какую версию перегруженной функции вызвать, компилятор использует тип и/или количество аргументов. Таким образом, перегруженные функции должны отличаться типами и/или числом параметров. Несмотря на то что перегруженные методы могут отличаться и типами возвращаемых значений, этого вида информации недостаточно для C++, Чтобы во всех случаях компилятор мог решить, какую именно функцию нужно вызвать.
|