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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
Василий-Робот
TECHNO
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
#1

функция может вызывать другую функцию? - C++

05.02.2011, 16:45. Просмотров 2762. Ответов 9
Метки нет (Все метки)

функция может вызывать другую функцию? (не саму себя)
или это невозможно?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2011, 16:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос функция может вызывать другую функцию? (C++):

Может ли функция иметь аргументом другую функцию или объект? - C++
Внимание тупой вопрос )) А может ли функция иметь аргументом другую функцию или объект?

Создать объект внутри класса, который может вызывать функцию этого класса - C++
Ребята помогите уже несколько дней мучаюсь. Хочу сделать программу в консоле демонстрации работы лифта в здании 2 этажа. Сделал класс...

Функция не "видит" другую функцию - C++
В программе 2 функции(обе в глобальной зоне видимости) обращаются одна к другой, при этом та функция которая находится в коде ниже видит...

Как правильно вызывать функцию strcmp()? - C++
При вызове strcmp() можно использовать пространство имен std::, а так же можно и без него обойтись: strcmp(s1, s2); std::strcmp(s1,...

Можно ли один раз создать функцию в потоке, а потом просто вызывать ее - C++
Не ругайтесь, я искал, не нашел ответа на такой вопрос. Я вот использую потоки следующим образом: void поток(){ while(true){ ...

Написать функцию раньше мейна, через void. потом в мейне её вызывать - C++
Помогите. Нужно написать функцию раньше мейна, через void. потом в мейне её вызывать #include <iostream.h> #include <cstdlib.h> ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
slavich
12 / 12 / 1
Регистрация: 25.10.2009
Сообщений: 32
05.02.2011, 16:47 #2
Может.
0
Василий-Робот
TECHNO
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
05.02.2011, 16:48  [ТС] #3
к а к?
0
slavich
12 / 12 / 1
Регистрация: 25.10.2009
Сообщений: 32
05.02.2011, 16:51 #4
C
1
2
3
4
void func1()
{
  func2();
}
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
05.02.2011, 16:51 #5
Хм

C++
1
2
3
4
5
void someFunc(void){
//do smtn
}
void anotherSomeFunc(void)
{someFunc();}
0
Евгений М.
1035 / 976 / 54
Регистрация: 28.02.2010
Сообщений: 2,829
Завершенные тесты: 2
05.02.2011, 16:56 #6
Если первая функция объявлена после второй - да.
Если заголовок второй функций описан в начале файла - да.

Добавлено через 32 секунды
Если первая функция объявлена до второй - не знаю.

Добавлено через 3 минуты
Цитата Сообщение от Евгений М. Посмотреть сообщение
Если первая функция объявлена до второй - не знаю.
Узнал. Ответ - нет.
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
05.02.2011, 17:04 #7
Евгений М., вы бы пояснили какая из функция какую вызывает... А то первая, вторая... Так и мой пример неправилен будет, смотря с какой точки рассмотреть где первая, где вторая.
0
Евгений М.
1035 / 976 / 54
Регистрация: 28.02.2010
Сообщений: 2,829
Завершенные тесты: 2
05.02.2011, 17:07 #8
Первая вызывает вторую. Ваш пример правильный.
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
05.02.2011, 17:10 #9
Да я то знаю что он правильный
Просто я к тому, что человек не писал где первая, а где вторая, и если их поменять местами, они будут вторая и первая, и работать не будут ))
Ну или это уже мои бзики на почве немощи сделать CheckComboBox на c++ :|
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
05.02.2011, 18:32 #10
Может, ТС имел в виду вызов переданной в качестве аргумента функции? Вот пример (простой целочисленный калькулятор):

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <stdio.h>
#include <stdlib.h>
 
#define CNT 4
 
typedef int (*oper)(int, int);
 
int o_add(int, int);
int o_sub(int, int);
int o_mul(int, int);
int o_div(int, int);
 
oper operators[CNT] =
{
    o_add,
    o_sub,
    o_mul,
    o_div
};
 
void processAction(int, int, oper);
 
int main()
{
    int action;
    int arg1, arg2;
        
    while(1)
    {
    puts("Select an action:\n"
         "\t1. addition\n"
         "\t2. subtraction\n"
         "\t3. multiplication\n"
         "\t4. division\n"
         "or something else to exit...");
    
    
    while((action = getchar()) == '\n' || action == EOF)
        ;
        
    if(action < '1' || action > '4')
        exit(0);
    
    puts("Input arguments");
    scanf("%d %d", &arg1, &arg2);
 
    processAction(arg1, arg2, operators[action - '1']);
    puts("And one more time...\n");
    }
    
    exit(255);
}
 
int o_add(int a1, int a2)
{
    return a1 + a2;
}
 
int o_sub(int a1, int a2)
{
    return a1 - a2;
}
 
int o_mul(int a1, int a2)
{
    return a1 * a2;
}
 
int o_div(int a1, int a2)
{
    if(a2 == 0)
    {
    fputs("Error: division by zero\n", stderr);
    exit(1);
    }
    
    return a1 / a2;
}
 
void processAction(int a1, int a2, oper o)
{
    printf("Given arguents are `%d' and `%d', and the result is `%d'\n", a1, a2, o(a1, a2));
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2011, 18:32
Привет! Вот еще темы с ответами:

Как через базовый класс вызывать виртуальную функцию во всех потомках? - C++
Ну например, есть класс: class BATYANA { BATYANA(); virtual ~BATYANA(); virtual int Test(); }

Подскажите немножко с рекурсией ( Функция должна вызывать сама себя до тех пор пока sum не станет больше х) - C++
Вводим число х. Функция должна вызывать сама себя до тех пор пока sum не станет больше х. Но программа выдает ошибку, Подскажите в чем...

Написать функцию, которая могла бы передать значение в другую функцию - C++
как сделать функцию которая бы могла передать значеие в другую функцию ну к примеру a=4*b; где b=sin(fi);

рекурсия.написать функцию,принимающую указ. на другую функцию, осуществл. некую операцию с переданным х - C++
рекурсия.написать функцию,принимающую указ. на другую функцию, осуществл. некую операцию с переданным х. прога должна иметь вид...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.02.2011, 18:32
Ответ Создать тему
Опции темы

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