Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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++,

Чтобы во всех случаях компилятор мог решить, какую именно функцию нужно вызвать.

Date: 2016-07-25; view: 306; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию