69707

Перевантаження функцій

Лекция

Информатика, кибернетика и программирование

Перевантаження функцій — це використання одного імені для декількох функцій. Секрет перевантаження полягає в тому, що кожне перевизначення функції повинне використовувати або інші типи параметрів, або іншу їх кількість. Тільки ці відмінності дозволяють компілятору визначати...

Украинкский

2015-01-11

27.5 KB

1 чел.

Тема: Перевантаження функцій

Перевантаження функцій — це використання одного імені для декількох функцій. Секрет перевантаження полягає в тому, що кожне перевизначення функції повинне використовувати або інші типи параметрів, або іншу їх кількість. Тільки ці відмінності дозволяють компілятору визначати, яку функцію слід викликати в тому або іншому випадку. Наприклад, в наступній програмі функція myfunc () перегружена для різних типів параметрів.

#include <iostream>

using namespace std;

int myfunc(int i);

// Ці варіанти розрізняються типами параметрів

double myfunc(double і);

int main()

{

cout << myfunc(10)<< " "; // Виклик функції myfunc(int i)

cout << myfunc(5.4); //Виклик функції myfunc(double i)

return 0;

}

double myfunc(double i) { return і; }

int myfunc(int i) { return і; }

В наступній програмі перевантажені варіанти функції myfunc () використовують різну кількість параметрів.

#include <iostream>

using namespace std;

int myfunc(int i);

// Ці варіанти розрізняються кількістю параметрів

int myfunc(int і, int j);

int main()

{

cout << myfunc(10)<< " "; // Виклик функції myfunc(int i)

cout << myfunc(4, 5); // Виклик функції myfunc(int i, int j)

return 0;

int myfunc(int i)

{

return i;

}

int myfunc (int і, int j )

{

return x*j ;

}

Слід пям'ятати, що перевантажені функції повинні відрізнятися типами або кількістю параметрів. Тип значення, яке повертається, не дозволяє перенавантажувати функції. Наприклад, наступний варіант перевантаження функції myfunc () невірний.

int myfunc(int i); // Помилка: різних типів повертаємого

float myfunc(int і);

// значення недостатнь для перевантаження

Іноді оголошення двох функцій зовні відрізняються, але фактично співпадають. Приклад такого оголошення:

void f (int *p) ;

void f(int p[]); // Помилка, вирази *р і р[] еквівалентні

Треба пам'ятати, що компілятор не розрізняє виразу *р і р [ ]. Хоча зовні два прототипи функції f розрізняються, насправді вони повністю співпадають.


 

А также другие работы, которые могут Вас заинтересовать

15616. ФИЛОСОФИЯ БЕЗОПАСНОСТИ СИБИРИ И ДАЛЬНЕГО ВОСТОКА РОССИИ В СВЕТЕ БОРЬБЫ ЦИВИЛИЗАЦИЙ 66 KB
  Философия безопасности Сибири и Дальнего Востока России в свете борьбы цивилизаций Переход к легальной рыночной экономике ускорил центробежные силы разрывающие Россию. Если на юге страны использовались военные и идеологические орудия развала государства то на Дал
15617. НОВАЯ ТЕОСОФИЯ КАК ФИЛОСОФИЯ ГЛОБАЛЬНОЙ БЕЗОПАСНОСТИ РОССИИ 133 KB
  НОВАЯ ТЕОСОФИЯ КАК Философия ГЛОБАЛЬНОЙ безопасности России Землетрясения и цунами вызвавшие радиоактивную катастрофу на Японских островах в марте 2011 г. свидетельствуют о начале глобальной природнотехногенной катастрофы. Кризис индустриальной цивилизации прояв...
15618. Принципы нравственной экономики 53 KB
  Принципы нравственной экономики Потребность в новой экономике обусловлена усиливающимся цивилизационным кризисом [1]. Методологической основой для создания концепции нравственной экономики может служить нравственнорелигиозный неоинституционализм разработанны
15619. КИТАЙСКИЙ, ИНДИЙСКИЙ И ЯПОНСКИЙ ПРОЕКТЫ ДЛЯ ГЕОПОЛИТИКИ И ГЕОЭКОНОМИКИ РОССИИ 218.5 KB
  КИТАЙСКИЙ ИНДИЙСКИЙ И ЯПОНСКИЙ ПРОЕКТЫ ДЛЯ ГЕОПОЛИТИКИ И ГЕОЭКОНОМИКИ РОССИИ Переход к легальной рыночной экономике ускорил центробежные силы разрывающие Россию. Если на юге страны использовались военные и идеологические орудия развала государства то на Дальнем
15620. Культура, кризис, этика и эстетика 38 KB
  Культура кризис этика и эстетика Темы для обсуждения предложены две: насчёт того переживает ли нынешняя культура кризис и вторая – об этическом и эстетическом в современной культуре. Ничего существенного я не могу сказать ни на первую тему ни на вторую. Потому что ч...
15621. Das Prinzip verum factum: seine theologische Pramisse bei Nikolaus von Kues 41.5 KB
  Das Prinzip €œverumfactum€: seine theologische Pramisse bei Nikolaus von Kues Das Tatsachlichkeit der Wahrheit heutzutage ist etwas dass versteht sich von selbst. Dass die Wahrheit gewissermassen erzeugt ist davon man sagt seitdem am Morgen der Philosophie war klargestellt dass obgleich die Wahrheit von sich selbst existiert denn seine Stellung in die Sprache in dem Urteil von Wahrheit ist. Das bei uns aus Latein angekommende €œFaktum€ hat vor langer Zeit derUntersch...
15622. Николай Кузанский и философия эпохи культуры 58 KB
  Николай Кузанский и философия эпохи культуры слишком обширная тема если считать что эпоха культуры это всё Новое время. Я попытаюсь эскизно очертить только один сюжет из этой большой темы правда он – один из главных. Речь пойдёт об истоках новоевропейского г
15623. Бог был для мира не сим одним 109.5 KB
  Бог был для мира не сим одним Бог был для мира не сим одним – не причиною только бытия но сотворил как благий – полезное как премудрый – прекраснейшее как могущественный – величайшее Василий Великий. Беседы на Шестоднев.1 Всё дальнейшее будет попыткой комментария...
15624. Время событий и событие времени 43.5 KB
  Время событий и событие времени На последней странице Онтологии времени значится учебное издание. Я бы даже сказал учебное пособие. Для меня это учебное пособие по истории философии настоящее и одно из лучших и немногих при наличии кучи учебников плохих и хор...