Форум программистов, компьютерный форум CyberForum.ru

Аргументы функций (синтаксис) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
10.03.2011, 18:19     Аргументы функций (синтаксис) #1
ПАМАГИТЕ не могу разобраться с функциями а именно с аргументами и синтаксисом,в большинстве литературы эту информацию опускают.(какими могут быть аргументы как они влияют на функуию)
если где-то есть такая информация подскажите.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2011, 18:19     Аргументы функций (синтаксис)
Посмотрите здесь:

Аргументы по умолчанию C++ C++
Аргументы функции C++
C++ Не парсит аргументы
C++ Аргументы функции
C++ аргументы main
C++ Аргументы и using
Не передаются аргументы C++
C++ Аргументы функции: что значит "большие" и "небольшие" аргументы?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
10.03.2011, 18:44     Аргументы функций (синтаксис) #2
В большинстве случаев функция объявляется так:

Код
[тип возвращаемого значения] [имя] ( [тип параметра], [имя параметра], [...] )
{
   [тело функции]
}
Например:

C++
1
2
3
4
double negative( double a )
{
   return -a;
}
Создаёт функцию negative, принимающую один double, и возвращающую тоже double. Вызывается так:

C++
1
2
double dbl;
dbl = negative( 15.5 );
Здесь переменной dbl присваивается значение, которое вернула функция negative. Параметру (или аргументу) "a" передаётся значение 15.5.

Параметры функции передаются в том порядке, в котором они написаны в прототипе функции (о нём ниже). Они так же являются объектами её (локального) пространства имён, то есть существуют только внутри этой функции. То есть:

C++
1
2
3
4
5
6
7
8
9
void foo( int var )
{
   return var; //это одна var
}
 
void bar( int var )
{
   return var * 2; //а это совсем другая var
}
Прежде, чем использовать функцию, её нужно объявить. Либо так:

C++
1
2
3
4
5
6
7
8
9
10
int square( int arg )
{
   return arg * arg;
}
 
int main(int argc, char *argv[])
{
   cout << square( 15 ) << endl;
   return 0;
}
Либо так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
int square( int arg ); //это называется прототипом; в прототипах имена параметров можно опускать, указывая лишь их типы: void foo( char *, size_t, int );
 
int main(int argc, char *argv[])
{
   cout << square( 15 ) << endl;
   return 0;
}
 
int square( int arg )
{
   return arg * arg;
}
Функция может принимать несколько параметров любых известных типов, в том числе несколько параметров одинаковых типов. Вот пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
float divide( float a, int b )
{
    if( b == 0 )
       return 0.0f;
       
    return a / b;
}
 
int main(int argc, char *argv[])
{
    float result = divide( 15.5, 7 );
    cout << result << endl;
 
    return 0;
}
Кроме того, поразмыслите над функцией main.

Не по теме:

Интересно, в большинстве какой литературы эту информацию опускают?

Yandex
Объявления
10.03.2011, 18:44     Аргументы функций (синтаксис)
Ответ Создать тему
Опции темы

Текущее время: 05:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru