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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
#1

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

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

Читаю книгу увидел не понятные для меня параметры.
C++
1
int function(int ,int ,char s&);
Объясните что это за параметры, и как с ними работать в функции. И для чего нужен знак адреса в конце переменной s.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2013, 19:28     Параметры функции
Посмотрите здесь:

Параметры функции - C++
#include<iostream> using namespace std; void Write (int *, int); int main() { int array_size; cin >> array_size; ...

Параметры функции - C++
Нужна помощь со строкой, где вызывается функция Min(38). А точнее с параметрами. Никогда не сталкивался с "? :". Какие параметры передает...

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

функции и параметры - C++
есть фунция fun в которой аргументом является параметр p (должен передаваться из main), вычисляются в ней два значения f1 и f2. Как...

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

Параметры функции main - C++
доброго времени суток! Не могу решить проблему с параметрами функции main. Есть код int _tmain(int argc, char* argv) { int i; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
30.07.2013, 19:30     Параметры функции #2
Цитата Сообщение от Bend3r Посмотреть сообщение
как с ними работать в функции
Если у параметра есть тип, но нет имени, то никак. Бывает полезно, например, чтобы компилятор не заваливал предупреждениями о неиспользуемом параметре.
Ну и можно сделать более человекопонятное оформление:
C++
1
void foo(int /* bar */);
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
30.07.2013, 19:32     Параметры функции #3
Судя по точке с запятой в конце, это прототип функции. В нем имена параметров не обязательны.
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
30.07.2013, 19:36  [ТС]     Параметры функции #4
Цитата Сообщение от Schizorb Посмотреть сообщение
Судя по точке с запятой в конце, это прототип функции. В нем имена параметров не обязательны.
Точку с запитой, добавил я. Т.к нету смысла переписывать всю функцию.
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
30.07.2013, 19:40     Параметры функции #5
Bend3r, если стоит точка с запятой - то это может менять назначение параметров. Если в прототипе не указаны имена аргументов, то это может много чего значить, а если же не указаны в определении ф-ции, то это значит, что ф-ция принимает параметры, но не использует их за ненадобностью.
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
30.07.2013, 19:42  [ТС]     Параметры функции #6
Цитата Сообщение от Dani Посмотреть сообщение
Bend3r, если стоит точка с запятой - то это может менять назначение параметров. Если в прототипе не указаны имена аргументов, то это может много чего значить, а если же не указаны в определении ф-ции, то это значит, что ф-ция принимает параметры, но не использует их за ненадобностью.
Хорошо, а смысл тогда такой функции?
Можно тогда вообще функцию без параметров делать. Смысл один и тот-же.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
30.07.2013, 19:50     Параметры функции #7
Цитата Сообщение от Schizorb Посмотреть сообщение
Судя по точке с запятой в конце, это прототип функции. В нем имена параметров не обязательны.
В определении функции тоже.
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
30.07.2013, 19:52     Параметры функции #8
Bend3r, например, какой-то библиотеке нужно передавать свою функцию в качестве параметра другой функции ABC, которая должна принимать 3 параметра. Код библиотеки менять нельзя, но тебе нужно передать свою ф-цию для нормальной работы ф-ции ABC, но тебе совсем не нужен, например, 3 параметр. Поэтому ты просто указываешь этот параметр без имени.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
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 */) {
        // В моей реализации параметры не используются.
    }
};
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2013, 19:57     Параметры функции
Еще ссылки по теме:

Параметры функции fread - C++
Вот программа: _____________________ #include <iostream> #include <stdio.h> #include <conio.h> #include <string.h> using...

Параметры функции по умолчанию - C++
Приветствую всех! Уважаемые эксперты С++, подскажите, значения параметров по умолчанию должны задаваться в прототипе или в реализации...

Параметры функции и их считывание - C++
Здравствуйте! Подскажите, как такое реализовать: .... void ClassA::Init(что здесь должно быть? Enum?) { if( Enum == 0) ...

Параметры функции по умолчанию - C++
Можно ли в качестве параметра по умолчанию указать элимент класса ? Хотелось бы сделать как то так char* SendMessage(char*...


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

Или воспользуйтесь поиском по форуму:
Bend3r
149 / 136 / 18
Регистрация: 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;
В общем ладно всем спасибо! Более менее понял.
Yandex
Объявления
30.07.2013, 19:57     Параметры функции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru