[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Программирование под ОС / C - C++ /

Функции. Часть 3

Перегрузка функций - это создание нескольких функций с одним именем, но с разными параметрами. Разные параметры значит что должно быть разным количество аргументов функции или их тип. Вот так например:

void function(int x);
void function(int x,int y);
void function(float x);

Перегруженные имена функций - это главным образом удобство записи.Пример перегруженной функции-функция sqrt( ) (извлечение квадратного корня).Она перегружена для каждого типа параметра - int,float,double,long и т.д. Вы просто пишете sqrt(4) ili sqrt (3.463),компилятор сам понимает по типу параметра какую функцию надо вызвать.

пример:
#include <iostream.h>
void f(int x);
void f(double x);

int main()
{

f(10);
f(25e9);
//для тех кто не знает- 25e9 это 25*1000000000
return 0;
}
void f(int x)
{

cout<<" type of "<<x<<" is int"<<endl;
}

void f(double x)
{

cout<<" type of "<<x<<" is float"<<endl;
}


вот что получим:
type of 10 is int
type of 2.5e+10 is float


А бывает и так что компилятору не удается определить которую функцию вызывать, и он об этом естественно сообщает.:]
как всегда пример:
#include <iostream.h>

void f(float x);
void f(double x);

int main()
{
f(2);
return 0;
}

void f(float x)
{
cout<<" type of "<<x<<" is int"<<endl;
}

void f(double x)
{
cout<<" type of "<<x<<" is float"<<endl;
}

Тут вот неясно какого типа число 2: float или double ?
вот и компилятор вам скажет:
In function `int main()':
call of overloaded `f (int)' is ambiguous
candidates are: f(float) f(double)
( Microsoft-овский компилятор про кандидатов не скажет, он не очень разговорчив :] )

Вот и все. Особо перегрузкой не увлекайтесь :]



Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Программирование под ОС / C - C++ /

Пишем CD проигрыватель 2
28-05-2010   

Сейчас я покажу как можно написать простой проигрыватель CD дисков. Для начала разместим все нужные компоненты на форме (см. рисунок)... подробнее

Кол. просмотров: общее - 4145 сегодня - 0

Пишем браузер
28-05-2010   

Продолжаю тему клонирования программ darkamstera на Delphi в С++Builder. В этой статье я покажу, как с помощью стандартных компонентов, можно создать свой браузер. Браузер будет на движке всеми-любимого InternetExplorer. Наш зверь сможет ходить по URL... подробнее

Кол. просмотров: общее - 2920 сегодня - 0

Информация о системе
28-05-2010   

Выводим информацию о нашей родненькой системе. Для получения большей части информации мы будем использовать обширные функции, это не так сложно, как может показатся с первого взгляда и вообще код довольно простой и примитивный, так что покапавшись в нем пару минут - можно в легкостью разобраться что к чему, зачем и как... подробнее

Кол. просмотров: общее - 2941 сегодня - 0

FTP клиент своими руками
28-05-2010   

Здраствуй, сечас я покажу, как в CBuilder можно создать свой простой FTP-клиент, похожий пример можно найти в документации C++Builder Developnets Guilde... подробнее

Кол. просмотров: общее - 3387 сегодня - 0

Работаем с POP-сервером
28-05-2010   

Здраствуй, в этой статье я расскажу про способы получения e-mail писем и их прочтения. Для начала давайте составим интерфейс будущей программы Вот, что у меня вышло... подробнее

Кол. просмотров: общее - 2985 сегодня - 0



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects