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;
}
Related examples in the same category