title: Why does C++ have a ";" after a class declaration
body: <p>I'm starting to learn C++ and just out of curiosity, why does C++ require you to put a ";" at the end of the class declaration
  for example:   </p>
  
  <pre><code>class A
  {
     /*...*/
  };
  </code></pre>
  
  <p>In languages like java, it's used to signify an end of a statement.</p>
  
  <p>What is different about</p>
  
  <pre><code>int i(5);
  </code></pre>
  
  <p>and the class above with regards to the semi-colon in C++? Does the compiler treat the class as a statement or does it have a different interpretation for it? </p>