/trunk/Examples/ruby/import_template/spam.h

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

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