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

Как в main() создать указатель на функцию, которая находится в классе? - C++

Восстановить пароль Регистрация
 
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
24.07.2013, 17:14     Как в main() создать указатель на функцию, которая находится в классе? #1
В этом примере как определить указатель на функцию F()?

C++
1
2
3
4
5
6
7
8
9
10
11
12
class A
{
public:
    bool F(int &a, int &b)  { return a<b; }
};
 
int main()
{
 
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2013, 17:14     Как в main() создать указатель на функцию, которая находится в классе?
Посмотрите здесь:

Написать функцию, которая принимает указатель на 2 последовательности и печатает номер вхождения s1 в s2 C++
Как передать двумерный массив в функцию, которая вызывается в main? C++
C++ Работа с классами (в главном классе создать указатель на экземпляр другого класса)
Написать функцию, которая принимает указатель на переменную и присваивает ей модуль самой себя. C++
C++ Написать функцию, которая возвращает указатель на первое вхождение подстроки string2 в строке string1
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
24.07.2013, 17:21     Как в main() создать указатель на функцию, которая находится в классе? #2
BigLow,
C++
1
bool (A::*f)(int&, int&) = &A::F;
Praktolock
 Аватар для Praktolock
58 / 58 / 0
Регистрация: 29.11.2011
Сообщений: 272
24.07.2013, 17:24     Как в main() создать указатель на функцию, которая находится в классе? #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class A
{
public:
    bool F(int &a, int &b)  { return a<b; }
};
 
int main()
{
 bool (A::*pf)(int&, int&)=&A::F;
 
 
 return 0;
}
Вроде скомпилировалось %\

Добавлено через 37 секунд
второй(
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
24.07.2013, 19:43     Как в main() создать указатель на функцию, которая находится в классе? #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class A
{
public:
    bool F(int &a, int &b)  
    {
        return a<b;
    }
};
 
int main()
{
    auto F = std::mem_fn(&A::F);
    int a = 1, b = 2;
    A x;
    std::cout << F(x, a, b);
    return 0;
}
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
24.07.2013, 20:14  [ТС]     Как в main() создать указатель на функцию, которая находится в классе? #5
всем спасибо

Добавлено через 4 минуты
Цитата Сообщение от Olivеr Посмотреть сообщение
auto F = std::mem_fn(&A::F);
я даже и не знал что visual studio это поддерживает. автоматическое определение типа переменной

Добавлено через 22 минуты
нашел интересную статью по этой теме. может кому пригодится
Указатели на компоненты класса. Доступ по указателю
Yandex
Объявления
24.07.2013, 20:14     Как в main() создать указатель на функцию, которая находится в классе?
Ответ Создать тему
Опции темы

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