#include <iostream>

class Test
{
  public:

  int val;

  Test(int v)
  {
    val = v;
  }

  void operator||(Test& other)
  {
    this->val = 20;
    other.val = 40;
  }
};


int main()
{
  Test a(50);
  Test b(100);

  std::cout << "a: " << a.val << ", b: " << b.val << std::endl;
  a || b;
  std::cout << "a: " << a.val << ", b: " << b.val << std::endl;
  return 0;
}
