00001 00008 #ifndef CDISPLAY_H 00009 #define CDISPLAY_H 1 00010 00016 template <class T> 00017 class CDisplayT 00018 { 00019 public: 00029 CDisplayT(std::string name) 00030 : m_name(name) 00031 {} 00032 00042 virtual ~CDisplayT() 00043 {} 00044 00054 virtual const std::string& getName() 00055 { 00056 return m_name; 00057 } 00058 00068 virtual void display(const T &value) = 0; 00069 00070 protected: 00071 /* members */ 00073 std::string m_name; 00074 }; 00075 00081 typedef CDisplayT<CDat> CDisplay; 00082 00083 #endif 00084 00085 /* vim: set et sw=2 ts=2: */