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

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

Восстановить пароль Регистрация
 
romanroman
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 135
29.11.2013, 00:36     Как передать функции указатель на функцию в качестве аргумента? #1
как передать функции указатель на функцию в качестве аргумента?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 00:36     Как передать функции указатель на функцию в качестве аргумента?
Посмотрите здесь:

C++ Можно ли в качестве параметра функции передать другую функцию?
Как передать функцию в качестве параметра? C++
Как передать функции массив в качестве аргумента? C++
Написать функцию, возвращающую максимальное из двух целых чисел, полученных в качестве аргументов C++
Можно ли передать указатель на функцию как параметр другой функции? C++
Как в качестве аргумента функции передать массив? C++
C++ Как передать в функцию в качестве параметров указатель на файл
C++ Методы принимают в качестве аргумента простой указатель, как тогда меняется содержимое строки?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
29.11.2013, 00:50     Как передать функции указатель на функцию в качестве аргумента? #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
typedef void (*func)(int, int);
 
void f1(int a, int b) {
    std::cout << "\nf1 called with args " << a << ", " << b;
}
 
void f2(func f) {
    std::cout << "\nf2 called";
    f(2, 3);
}
 
int main() {
    f2(f1);
    return 0;
}
romanroman
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 135
29.11.2013, 01:23  [ТС]     Как передать функции указатель на функцию в качестве аргумента? #3
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
#include <iostream>
#include <conio.h>
#include <list>
using namespace std;
 
class List
{
public:
    void Empty()
    {
    }
};
 
class ListMenu
{
    void *menu;
    int count;
 
    List Data;
 
public:
    void Add(void *func)
    {
        count++;
        menu = new void*[count];
    }
 
    ListMenu()
    {
        menu = NULL;
 
        void (List::*test)() = &List::Empty;
        (Data.*test)();
        Add((Data.*test)());
    }
};
 
int main()
{
    return 0;
}
Добавлено через 36 секунд
А на этом примере как вызвать?

Добавлено через 15 минут
и как?
Yandex
Объявления
29.11.2013, 01:23     Как передать функции указатель на функцию в качестве аргумента?
Ответ Создать тему
Опции темы

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