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 розрізняються, насправді вони повністю співпадають.


 

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

46705. Корпус ПСМ (Переключателя скважин многоходового) 1.84 MB
  Переключатель скважин многоходовой, содержит корпус с несколькими входными патрубками и одним общим выходным патрубком, крышку с патрубком для подключения к измерительному устройству, полый вал между полостями корпуса и крышки, отличающийся тем, что в корпусе выполнены каналы от каждого входного патрубка до внутренней поверхности плоского участка
46706. Objects and tasks of grammar 26.5 KB
  ech form is product of the grmmrins nlysis nd process grmmr is lso key vrint in the procces of lnguge. We think of mny wys tht grmmr is deployed in communiction. how we use it Grmmr consists of 2 fundmentl ingredients syntx rrgenments of elements nd morphology. study of grmmr revels structure nd regulrity which enble us to tlk bout the lnguge system.
46708. Оценка эффективности менеджмента 26.51 KB
  Проведенные исследования показали что привлекательность сфер российской инфраструктуры для иностранных инвесторов значительно выше чем отраслей материального производства. Проведенные исследования показали что привлекательность сфер российской инфраструктуры для иностранных инвесторов значительно выше чем отраслей материального производства. Маркетинговые исследования их содержание и методы проведения. Маркетинговые исследования их содержание и методы проведения Маркетинговые исследования комплексная систем изучения организации...
46709. Финансы и финансовая система государства. Публичные (общественные) финансы 29.07 KB
  Расходы на производство и реализацию продукции определяющие себестоимость состоят из стоимости используемых в производстве продукции природных ресурсов сырья основных и вспомогательных материалов топлива энергии основных фондов трудовых ресурсов и прочих расходов по эксплуатации а также внепроизводственных затрат. Расходы на производство и реализацию объединяются в 4 гр: Материальные расходы включают покупные сырье и материалы входящие в состав производимой продукции: основные и вспомогательные материалы комплектующие изделия и...
46710. Классификация ЧС 26.88 KB
  Антропогенные ЧС это аварии и катастрофы на химических биологически и радиационноопасных объектах соответственно ХОО БОО и РОО крушения поездов и аварии на транспорте интенсивные загрязнения воды почв и воздуха. К I категории относят: СБ охватывающие территории превышающие административные границы района города и причинившие народнохозяйственный ущерб; аварии приводящие к полной или частичной остановка производства с большим материальным ущербом и гибелью производственного персонала; аварии с возможным выбросом в ОС РВ и...
46712. Загальновживані слова. Свідоме й критичне використання жаргонізмів і діалектизмів у різних комунікативних сферах 27 KB
  Загальновживані слова. За сферою вживання слова в українській мові поділяють на загальновживані й незагальновживані. Загальновживані слова це слова уживання яких не обмежене ні діалектними ні професійними межами; вони вживаються всіма носіями мови. Незагальновживані слова це слова уживання яких обмежене сферою спілкування та поширенням.
46713. Розробка проекту модернізації локальної комп’ютерної мережі для Васловіського Навчально-Виховного Комплексу 1.31 MB
  Метою даної дипломної роботи є розробка проекту модернізації локальної комп’ютерної мережі для Васловіського Навчально-Виховного Комплексу, що дозволить покращити роботу таких ланок як «приймальня директора...