// File:   03constParam.cpp for CS319-Week 12
// What:   An example of a const parameter used in operator overloading.

#include <iostream>
#include <string>

class Number
{
private:
  double x;
public:
  Number() {x=0.0;};
  Number(const Number &copy) {x=copy.x;}; // notice const
  void set_x(double X) {x=X;};
  double get_x(void) {return(x);};
  Number operator+(Number &b)
    {
      Number sum;
      sum.x = x + b.x;
      return(sum);
    }
};

int main(void)
{
  Number a;
  a.set_x(121.234);
  Number b(a+a);
  std::cout << "a.x= \t" << a.get_x() <<  std::endl;
  std::cout << "b.x= \t" << b.get_x() <<  std::endl;
  return(0);
}
  


  
  
  
