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

Указатель на метод класса в качестве аргумента метода класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсветка символа в edit http://www.cyberforum.ru/cpp/thread1399613.html
Мне нужен компонент, который смог бы поддерживать подсветку символа, так например в клавиатурном тренажере при неправильном нажатии клавиши буква в тексте выделяется красным цветом. Ну или как это...
C++ Eigen - инициализация константной комлексной матрицы Здравствуйте. Хочу в программе использовать комлексную матрицу, значения которой были бы известны на этапе компиляции. Прикинул два варианта: #include <iostream> #include <Eigen/Dense> using... http://www.cyberforum.ru/cpp/thread1399604.html
C++ .elf и для чего они нужны
Собственно сабж Почитал Вики, как-то для новичка не очень много прояснилось И объясните еще пожалуйста разницу с ехе
Union, new placement, strict-aliasing, cross-platform C++
Доброго времени суток. Ниже представленный код вроде бы работает. Гонял его на компиляторах cl/mingw http://rextester.com/OGKQ63240 //Title of this code //g++ 4.8.2
C++ Есть ли исходники SpyEye в открытом доступе? http://www.cyberforum.ru/cpp/thread1396628.html
Здравствуйте, форумчане! Можно ли уже спустя 2-3 года найти творение Gribodemon'a с названием SpyEye в открытом доступе? Есть желание покопаться в исходниках, поучиться программировать.
C++ Измените dll Здравствуйте. Не знаю, в тот ли раздел попал или нет, извиняйте))) Требуется помощь. Мои знания в программировании близки к нулю, поэтому решил обратиться к профессионалам.) Итак, есть файл .dll.... подробнее

Показать сообщение отдельно
Avazart
Эксперт С++
7574 / 5559 / 327
Регистрация: 10.12.2010
Сообщений: 24,935
Записей в блоге: 17
20.03.2015, 18:36
Цитата Сообщение от _Ryuzaki13_ Посмотреть сообщение
но это не лучший для меня вариант, в том случае, если существует возможность передавать указатель на метод.
Указатель на метод можно использовать только относительно какого либо объекта.

Кликните здесь для просмотра всего текста
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
#include <iostream>
 
 
class A
{
    public:
        void x() { std::cout<<"x()"<<std::endl; }
        void y() { std::cout<<"y()"<<std::endl; }
};
 
typedef void(A::*Method)();
 
class B
{
    public:
        B():method_(0),object_(0){};
 
        void setMethod(A* object,Method method)
        {
            object_= object;
            method_= method;
        }
 
        void invoke()
        {
            if(object_ && method_)
             (object_->*method_)();
        }
 
    private:
        Method method_;
        A* object_;
};
 
int main()
{
     A a;
     B b;
 
     b.setMethod(&a, A::x );
     b.invoke();
 
     b.setMethod(&a, A::y );
     b.invoke();
 
    getchar();
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru