Mega Code Archive

 
Categories / C++ Tutorial / Operator Overloading
 

Double cast operator

#include <iostream> using namespace std; class Power {   double b;   int e;   double val; public:     Power(double base, int exp)     {       b = base;       e = exp;       val = 1;       if(exp==0)          return;       for( ; exp>0; exp--)          val = val * b;     }   Power operator+(Power o) {     double base;     int exp;     base = b + o.b;     exp = e + o.e;     Power temp(base, exp);     return temp;   }   operator double() { return val; } // convert to double }; int main() {   Power x(4.0, 2);   double a;   a = x;             // convert to double   cout << x + 1.2; // convert x to double and add 100.2   cout << "\n";   Power y(3.3, 3), z(0, 0);   z = x + y;  // no conversion   a = z;      // convert to double   cout << a;   return 0; } 17.2 20730.7"