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


 

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

68582. Управління персоналом у навчальному закладі 190.5 KB
  Зміна парадигм освіти та впровадження інноваційних технологій управління персоналом навчальними закладами впливає не тільки на зміст критеріїв оцінки педагогічної праці але й на управління нею.
68583. ДОПОМІЖНІ МАТЕРІАЛИ ПРИ ЗДІЙСНЕННІ КОНТРОЛЮ ЗА СТАНОМ ВИКЛАДАННЯ ПРЕДМЕТІВ 299 KB
  Педагогічний аналіз - засіб виховання педагогічного та учнівського колективів. Ніщо так не виховує людей, як справедлива оцінка їх діяльності та поведінки. Вона допомагає побачити свої слабкі сторони і визначити шляхи підвищення професійної майстерності.
68584. Изучение состояния преподавания государственного языка (Денисовская, Чайкинская, Константиновская школы) 194 KB
  Крым является специфическим в языковом отношении регионом Украины. Одним из факторов, определяющих эту специфику, можно считать русско-украинский и украинско-русский билингвизм (первым в каждом случае является родной язык). На протяжении многих лет разговаривать по-украински, выписывать украинские газеты и журналы...
68585. СРАВНИТЕЛЬНЫЙ АНАЛИЗ ВОСПРИЯТИЯ ОБРАЗА МАТЕРИ ПОДРОСТКАМИ ИЗ ПОЛНЫХ И НЕПОЛНЫХ СЕМЕЙ 29.15 KB
  Выявляется и анализируется степень удовлетворенностью взаимоотношениями с матерью рассматриваются когнитивные поведенческие и эмоциональные критерии восприятия матери. Определяются причинно-следственные факторы возникновения материнской конфликтности в семье.
68586. О ПСИХОЛОГИЧЕСКОЙ ГОТОВНОСТИ ПЕДАГОГОВ К РАЗВИТИЮ ОДАРЕННОСТИ ЛИЧНОСТИ 74 KB
  В статье проведён анализ исследований по проблеме психологии одаренной личности: рассмотрены особенности психологического портрета одарённой личности готовности педагога к развитию одаренности личности предоставлены результаты анализа представлений педагогов о психологической...
68587. Выявление уровня надежности студентов 52.69 KB
  Проявление надежности оценивалось по показателям самооценки и оценки экспертов творческие способности фиксировались в реальной деятельности решении креативных задач. В статье поднимается вопрос о возможном существовании связи между показателями надежности личности академической успеваемостью...
68588. ОСОБЕННОСТИ РАЗВИТИЯ ТЕОРЕТИЧЕСКОГО МЫШЛЕНИЯ МЛАДШИХ ШКОЛЬНИКОВ 75.5 KB
  В статье представлены результаты эмпирического исследования взаимосвязи уровня развития логического мышления младшего школьника способности выполнять действия по заданному образцу мыслительных операций синтеза анализа обобщения. Данные описывают особенности развития теоретического...
68589. ОТНОШЕНИЕ К МЕДИАЦИИ У МУЖЧИН И ЖЕНЩИН В ПРОЦЕССЕ РАЗВОДА 139 KB
  Приводятся результаты исследования отношения к медиации у мужчин и женщин в процессе развода в Республике Беларусь. Приводятся данные указывающие на интерес к медиации у разводящихся супругов. В России и Казахстане уже приняты законы о медиации и идет активное внедрение ее в суды создаются...
68590. ОСОБЕННОСТИ МОТИВАЦИИ ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ СТУДЕНТОВ-ПЕДАГОГОВ 33.91 KB
  В статье представлены результаты исследования особенностей мотивации профессиональной деятельности у студентов-педагогов 4 курса. У большинства студентов выявлена внешняя положительная мотивация педагогической деятельности. ученых занимающихся проблемой мотивации учебной деятельности студентов...