Define operator +(plus) and cast to double operator
#include <iostream>
using namespace std;
class Power {
double b;
int e;
double val;
public:
Power(double base, int exp);
Power operator+(Power obj) {
double base;
int exp;
base = b + obj.b;
exp = e + obj.e;
Power temp(base, exp);
return temp;
}
operator double(void) {return val;}
};
Power::Power(double base, int exp){
b = base;
e = exp;
val = 1;
if (exp!=0)
while(exp-- > 0)
val *= b;
}
int main(void){
Power pwr1(4.0, 2);
double doub1;
doub1 = pwr1;
cout << (doub1 + 100.2) << endl;
Power pwr2(3.3, 3), pwr3(0,0);
pwr3 = pwr1 + pwr2;
doub1 = pwr3;
cout << doub1;
}
Related examples in the same category