Mega Code Archive

 
Categories / C++ / Overload
 

Converter operator

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