/trunk/Examples/perl5/import/spam.h

# · C++ Header · 24 lines · 21 code · 3 blank · 0 comment · 0 complexity · a23cd0edf6a75f45b148646dc862f46d MD5 · raw file

  1. #include "bar.h"
  2. class Spam : public Bar {
  3. public:
  4. Spam() { }
  5. ~Spam() { }
  6. virtual void A() {
  7. printf("I'm Spam::A\n");
  8. }
  9. void B() {
  10. printf("I'm Spam::B\n");
  11. }
  12. virtual Base *toBase() {
  13. return static_cast<Base *>(this);
  14. }
  15. virtual Bar *toBar() {
  16. return static_cast<Bar *>(this);
  17. }
  18. static Spam *fromBase(Base *b) {
  19. return dynamic_cast<Spam *>(b);
  20. }
  21. };