Operator as return type : Return Operator « Overload « C++






Operator as return type

Operator as return type
#include <iostream>
using namespace std;

int p(int base, int exp);

class Power {
  int base;
  int exp;
public:
  Power(int b, int e) { 
     base = b; exp = e; 
  }
  operator int() { 
     return p(base, exp); 
  }
};

// Return base to the exp power.
int p(int base, int exp)
{
  int temp;

  for(temp=1; exp; exp--) 
     temp = temp * base;

  return temp;
}

 int main()
{
  Power object1(2, 3), object2(3, 3);
  int result;

  result = object1;
  cout << result << '\n';

  result = object2;
  cout << result << '\n';

  cout << object1 + 100 << '\n';

  return 0;
}


           
       








Related examples in the same category