1234567891011121314151617181920 |
- // Copyright 2011 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- class Callback {
- public:
- virtual ~Callback() { }
- virtual std::string run() { return "Callback::run"; }
- };
- class Caller {
- private:
- Callback *callback_;
- public:
- Caller(): callback_(0) { }
- ~Caller() { delCallback(); }
- void delCallback() { delete callback_; callback_ = 0; }
- void setCallback(Callback *cb) { delCallback(); callback_ = cb; }
- std::string call();
- };
|