Introducing Radical.sh

Forget Code launches a powerful code generator for building API's

Cast Operator Overloading in C++

#include <iostream>
using namespace std;
 
class forgetcode {
  long double d;
  int i;
  long double v;
public:
  forgetcode(double b1, int e1)
    {
      d = b1;
      i = e1;
      v = 1;
      if(e1==0)
         return;
      for( ; e1>0; e1--)
         v = v * d;
    }
 
  forgetcode operator+(forgetcode o) {
    long double b1;
    int e1;
    b1 = d + o.d;
    e1 = i + o.i;
 
    forgetcode temp(b1, e1);
    return temp;
  }
  operator long double() { return v; } // convert to double
};
 
int main() {
  forgetcode x(5.0, 3);
  long double a;
 
  a = x;             
  cout << x + 1.2; 
  cout << "\n";
 
  forgetcode y(4.4, 4), z(1, 1);
 
  z = x + y;  
  a = z;      
  cout << a;
 
  return 0;
}