title: C++ override specifier without virtual? Does override imply virtual?
body: <p><em>Linked question is not the same - and does not even mention</em> <code>override</code></p>
  <p>Edit: The new list of duplicates contains one legitimate duplicate, which I did not find from search.</p>
  <p>I was not aware prior to asking this that the choice of whether or not to use <code>virtual</code> in derived class members was going to be a contentious issue for some.</p>
  <hr />
  <p>I have just encountered some source code which looks like this:</p>
  <pre><code>class A
  {
      virtual void method();
  };
  
  class B : public A
  {
      void method() override;
  }
  
  </code></pre>
  <p>I am unsure of how to interpret this, even after reading <a href="https://en.cppreference.com/w/cpp/language/override" rel="nofollow noreferrer">this</a>.</p>
  <p>Does <code>override</code> imply <code>virtual</code> here? <code>void B::method()</code> is not marked as a virtual function, but it is marked as <code>override</code>. So why does this work, and not result in a compilation error?</p>
  <p>Is there any difference between the following? (In <code>class B</code>)</p>
  <ul>
  <li><code>void method() override;</code></li>
  <li><code>virtual void method() override;</code></li>
  </ul>