Sha256: cfad4c21461c4361dde8f88440348680dc75f4c3ec0c345551bfd5a6671a8c29

Contents?: true

Size: 966 Bytes

Versions: 10

Compression:

Stored size: 966 Bytes

Contents

#ifndef __SUBCLASS_H__
#define __SUBCLASS_H__
namespace subclass {
  class SuperSuper {
    public:
    inline int minOne() { return -1; }
  };
  class Super : public SuperSuper {
    public:
    inline int zero() { return 0; }
  };
  class Base : public Super {
    public:
    inline int one() { return 1; }
    Base() {}
  };
  class Sub : public Base {
    public:
    Sub() {}
  };
  
  template<class T>
  class TemplateSuper : public Super {
    T val;
    public: 
    TemplateSuper(T val) {
      this->val = val;
    }
    inline T custom() { return this->val; }
  };
  
  class TemplateSub : public TemplateSuper<int> {
    public:
    TemplateSub() : TemplateSuper<int>(0) {}
  };
  
  class TemplatePtr : public TemplateSuper<Base*> {
    public:
    TemplatePtr() : TemplateSuper<Base*>(new Base()) {}
  };

  class Base2 {
    public:
      Base2() {}
  };

  class Multiple : public Base, public Base2 {
    public:
      Multiple() {}
  };
}
#endif

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rbplusplus-1.4.0 test/headers/subclass.h
rbplusplus-1.3.0 test/headers/subclass.h
rbplusplus-1.2.1 test/headers/subclass.h
rbplusplus-1.2.0 test/headers/subclass.h
rbplusplus-1.1.0 test/headers/subclass.h
rbplusplus-1.0.3 test/headers/subclass.h
rbplusplus-1.0.1 test/headers/subclass.h
rbplusplus-1.0 test/headers/subclass.h
rbplusplus-0.9.1 test/headers/subclass.h
rbplusplus-0.9 test/headers/subclass.h