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


 

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

12853. Автопортрет отрядное мероприятие. Знакомство детей в пионерлагере 21 KB
  АВТОПОРТРЕТ. Задача: познакомить детей друг с другом. Период смены: организационный. Возраст детей: кроме старших. Продолжительность: 4060 мин. Количество детей: весь отряд. Место проведения: отрядное место. Оборудование: 5 карточек. Делим отряд на 5 г...
12854. СТРАШНЫЙ СУД Карточная групповая профориентационная игра 182 KB
  СТРАШНЫЙ СУД Карточная групповая профориентационная игра Эта игра помогает подростку увидеть свои возможности и в соответствии с ними выбирать профессиональные и жизненные цели. Игра имеет диагностические психокоррекционные и прогностические аспекты. ОБЩЕЕ
12855. ИГРА Профконсультация 208.5 KB
  ИГРА Профконсультация Целью игры профконсультация является специально организованная помощь школьников друг другу при выборе профессии под наблюдением и контролем психолога. Игра имеет разные варианты которые имеют отдельные описания. В некоторых вариантах иг
12856. БУДЬ ГОТОВ! Активизирующая профориентационная методика 118 KB
  БУДЬ ГОТОВ Активизирующая профориентационная методика Цель этой методики повысить у старшеклассников уровень осознания своей готовности к различным видам профессионального труда.Эту методику можно использовать при работе с классом группой а можно в индивидуа...
12857. ИГРА УГАДАЙ ПРОФЕССИЮ 35 KB
  ИГРА УГАДАЙ ПРОФЕССИЮ ЦЕЛЬ ИГРЫ. Знакомство школьников с научной схемой анализа профессий. Игра используется при изучении тем Профессиограмма Формула профессии а также при знакомстве с конкретными профессиями различных отраслей народного хозяйства. УСЛОВИЯ ИГ
12858. Психологическая игра Звездные планеты 35.5 KB
  Психологическая игра Звездные планеты Цель игры: поставить перед детьми проблему по созданию новых планет. Психологическая цель: обучить детей совместной практической деятельности. Задачи: Развивать навыки сотрудничества и умение соревноваться со сверстниками п...
12859. СЦЕНАРИЙ ДЛЯ СВОБОДНОГО ПЛАВАНИЯ 89 KB
  СЦЕНАРИЙ ДЛЯ СВОБОДНОГО ПЛАВАНИЯ Существуют истории финал которых заранее не известен. Есть только многочисленные дороги распутья перекрестки и изредка камни с кратким описанием последствий: направо пойдешь... налево пойдешь... Остается только догадываться что ждет...
12860. НАЧИНАЕМ РАЗГОВОР Игра для учащихся пятых классов 37.5 KB
  НАЧИНАЕМ РАЗГОВОР Игра для учащихся пятых классов В одном из номеров Школьного психолога за этот год читатели имели возможность познакомиться с моделью психологопедагогического сопровождения школьников на этапе перехода из начальной школы в среднюю см. ст
12861. ПЕРВЫЙ КЛАССНЫЙ ЧАС В 5 КЛАССЕ 31.5 KB
  ПЕРВЫЙ КЛАССНЫЙ ЧАС В 5 КЛАССЕ Возраст 10 11 12 лет. Дети этого возраста обучаются у нас в пролицейском отделении. Поступают после начальной школы и переходят от нас во €œвзрослый€ лицей через 3 года. Поступают из всех школ района умные замечательные с огромным желанием...