Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

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

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

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

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

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

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

Функции и процедуры и их параметры - C++
#include <iostream> using namespace std; int main(int argc, char** argv) { class Human{ public: int Age,Hair; int...

Функции, параметры функций - C++
Определить функцию нахождения расстояния между точками. Во множестве точек на плоскости найти пару точек с минимальным расстоянием между...

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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