title: operator precedence question between `<<` and `==`
body: <pre><code>#include &lt;bits/stdc++.h&gt;
  using namespace std;
  
  class point
  {
  public:
      int x, y;
      point(int a, int b)
      {
          x = a, y = b;
      }
      bool operator==(point &amp;a)
      {
          if (a.x == x &amp;&amp; a.y == y)
          {
              return 1;
          }
          else
          {
              return 0;
          }
      }
  };
  
  int main()
  {
      point a(5, 7), b(5, 7);
      int t = a == b;
      cout&lt;&lt;t;  //it is working properly
      cout&lt;&lt; (a==b); // it also
      cout &lt;&lt; a==b; //but it gives me compilation error
  }
  </code></pre>
  
  <p>what is the reason...??
  is there any fact of operator precedence...?? 
  I don't know why it is giving compilation error...
  as it is seen it looks fine</p>