/trunk/Examples/python/callback/example.h
# · C++ Header · 22 lines · 16 code · 5 blank · 1 comment · 1 complexity · f2aeaadad8e4d8daef380d67dd9cffc2 MD5 · raw file
- /* File : example.h */
- #include <iostream>
- class Callback {
- public:
- virtual ~Callback() { std::cout << "Callback::~Callback()" << std:: endl; }
- virtual void run() { std::cout << "Callback::run()" << std::endl; }
- };
- class Caller {
- private:
- Callback *_callback;
- public:
- Caller(): _callback(0) {}
- ~Caller() { delCallback(); }
- void delCallback() { delete _callback; _callback = 0; }
- void setCallback(Callback *cb) { delCallback(); _callback = cb; }
- void call() { if (_callback) _callback->run(); }
- };