/trunk/Examples/php/callback/example.h
C++ Header | 22 lines | 16 code | 5 blank | 1 comment | 1 complexity | f2aeaadad8e4d8daef380d67dd9cffc2 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- /* 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(); }
- };