00001 // Definition of abstract base class JShape 00002 #ifndef __J2K__JShape_HPP__ 00003 #define __J2K__JShape_HPP__ 00004 00005 #include <j2k/Fred/Basic.hpp> 00006 00007 class JShape { 00008 public: 00009 virtual double area() const { return 0; } 00010 virtual double volume() const { return 0; } 00011 00012 // pure virtual functions overridden in derived classes 00013 virtual void printShapeName() const = 0; 00014 virtual void print() const = 0; 00015 }; 00016 00017 #endif 00018