00001 #pragma once 00002 00003 #include "expptr.h" 00004 00005 class Double 00006 { 00008 ExpPtr _exp; 00009 public: 00010 00016 Double(const ExpPtr & exp); 00017 00023 Double(); 00024 00030 Double(double value); 00031 00035 operator double(); 00036 00040 ExpPtr & exp(); 00041 00045 const ExpPtr & exp() const; 00046 }; 00047 00051 Double operator+(const Double & left, const Double & right); 00052 00056 Double operator*(const Double & left, const Double & right);