// -*- c++ -*- #pragma once #ifndef __CLASS_H__ #define __CLASS_H__ #include #include #include "tester.h" class Base : public Xot::RefCountable<> { public: Base () { log("Base()"); } virtual ~Base () { log("~Base()"); } virtual const char* name () const { return "Base::name"; } virtual const char* name_overridable () const { return "Base::name_overridable"; } virtual const char* name_overridable_faster () const { return "Base::name_overridable_faster"; } };// Base class Sub : public Base { public: Sub () { log("Sub()"); } virtual ~Sub () { log("~Sub()"); } virtual const char* name () const { return "Sub::name"; } virtual const char* name_overridable () const { return "Sub::name_overridable"; } virtual const char* name_overridable_faster () const { return "Sub::name_overridable_faster"; } };// Sub class RubyObj : public Xot::RefCountable<> { public: RubyObj () { log("RubyObj()"); } ~RubyObj () { log("~RubyObj()"); } };// Obj #endif//EOH