Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
150 / 137 / 35
Регистрация: 29.07.2012
Сообщений: 709
1

Параметры функции

30.07.2013, 19:28. Показов 865. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Читаю книгу увидел не понятные для меня параметры.
C++
1
int function(int ,int ,char s&);
Объясните что это за параметры, и как с ними работать в функции. И для чего нужен знак адреса в конце переменной s.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.07.2013, 19:28
Ответы с готовыми решениями:

Параметры функции: параметры по умолчанию
помогите пожалуйста понять. void foo(int a, int b, int c=1){std::cout << a << "\t" << b <<...

Указатели на функции. Указатели на функции как формальные параметры у функциях высшего уровня
Найти наименьшее значение для функций используя функции и указатели на функции ...

Какими способами можно использовать функции класса B, как параметры функции Sub класса А?
class A {... void Sub(...); ...} class B : ... { public: float f1(float); float f2(float);...

Функции и их параметры
Здравствуйте, в C++ я абсолютный новичок, но с некоторыми другими языками знаком (на любительском...

9
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
30.07.2013, 19:30 2
Цитата Сообщение от Bend3r Посмотреть сообщение
как с ними работать в функции
Если у параметра есть тип, но нет имени, то никак. Бывает полезно, например, чтобы компилятор не заваливал предупреждениями о неиспользуемом параметре.
Ну и можно сделать более человекопонятное оформление:
C++
1
void foo(int /* bar */);
0
512 / 464 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
30.07.2013, 19:32 3
Судя по точке с запятой в конце, это прототип функции. В нем имена параметров не обязательны.
0
150 / 137 / 35
Регистрация: 29.07.2012
Сообщений: 709
30.07.2013, 19:36  [ТС] 4
Цитата Сообщение от Schizorb Посмотреть сообщение
Судя по точке с запятой в конце, это прототип функции. В нем имена параметров не обязательны.
Точку с запитой, добавил я. Т.к нету смысла переписывать всю функцию.
0
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
30.07.2013, 19:40 5
Bend3r, если стоит точка с запятой - то это может менять назначение параметров. Если в прототипе не указаны имена аргументов, то это может много чего значить, а если же не указаны в определении ф-ции, то это значит, что ф-ция принимает параметры, но не использует их за ненадобностью.
0
150 / 137 / 35
Регистрация: 29.07.2012
Сообщений: 709
30.07.2013, 19:42  [ТС] 6
Цитата Сообщение от Dani Посмотреть сообщение
Bend3r, если стоит точка с запятой - то это может менять назначение параметров. Если в прототипе не указаны имена аргументов, то это может много чего значить, а если же не указаны в определении ф-ции, то это значит, что ф-ция принимает параметры, но не использует их за ненадобностью.
Хорошо, а смысл тогда такой функции?
Можно тогда вообще функцию без параметров делать. Смысл один и тот-же.
0
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
30.07.2013, 19:50 7
Цитата Сообщение от Schizorb Посмотреть сообщение
Судя по точке с запятой в конце, это прототип функции. В нем имена параметров не обязательны.
В определении функции тоже.
0
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
30.07.2013, 19:52 8
Bend3r, например, какой-то библиотеке нужно передавать свою функцию в качестве параметра другой функции ABC, которая должна принимать 3 параметра. Код библиотеки менять нельзя, но тебе нужно передать свою ф-цию для нормальной работы ф-ции ABC, но тебе совсем не нужен, например, 3 параметр. Поэтому ты просто указываешь этот параметр без имени.
1
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
30.07.2013, 19:52 9
Цитата Сообщение от Bend3r Посмотреть сообщение
Можно тогда вообще функцию без параметров делать. Смысл один и тот-же.
Да элементарно.

C++
1
2
3
4
5
6
7
8
9
struct Base {
    virtual void f(int a, int b, int c) = 0;
};
 
struct Derived : public Base {
    virtual void f(int /* a */, int /* b */, int /* c */) {
        // В моей реализации параметры не используются.
    }
};
1
150 / 137 / 35
Регистрация: 29.07.2012
Сообщений: 709
30.07.2013, 19:57  [ТС] 10
Цитата Сообщение от 0x10 Посмотреть сообщение
Да элементарно.

C++
1
2
3
4
5
6
7
8
9
struct Base {
    virtual void f(int a, int b, int c) = 0;
};
 
struct Derived : public Base {
    virtual void f(int /* a */, int /* b */, int /* c */) {
        // В моей реализации параметры не используются.
    }
};
Ну так у вас же явно объявлена функция virtual void f(int a, int b, int c) = 0;
В общем ладно всем спасибо! Более менее понял.
0
30.07.2013, 19:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.07.2013, 19:57
Помогаю со студенческими работами здесь

функции и параметры
есть фунция fun в которой аргументом является параметр p (должен передаваться из main),...

Параметры функции
load(n,a);как называются эти параметры void load (int n,doble* a) а как называются эти?

Параметры функции
Как передать в функцию в качестве параметра масив ???

Параметры функции
У меня задание создать функцию по такому прототипу. int set_arr ( char* arr, int size, int pos,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru