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 <boost/function.hpp>
#include <boost/bind.hpp>
...
class Truc {
public:
Truc() {};
~Truc() {};
void setFunc0(boost::function<void(int, double, std::string)> myFunc0) {
_myFunc0 = myFunc0;
}
void uneMethodeQuiUtiliseLaFonctionCallBack(...) {
if( _myFunc0 )
_myFunc0(10, 0.2, "toto");
};
...
protected:
boost::function<void(int, double, std::string)> _myFunc0;
...
};
class Machin {
public :
Machin() {
_myTruc.setFunc0(boost::bind(&Machin::uneSuperFonctionMembre, this, _1, _2, _3));
};
~Machin() {};
protected :
void uneSuperFonctionMembre(int i, double d, std::string s) {
...
};
Truc _myTruc;
...
}; |
Partager