title: compilation of derived class with no implementation of pure virtual function does not give any errors
body: <p>I have read that a pure virtual functions are the virtual functions whose implementation must be provided by the derived class and I wanted to test it. Do do so I derived a class from an abstract class which has a pure virtual member function. For the educational purpose I did not implement this function in the derived class, just to see whether it breaks. To my surprise the code compiled with no problems. </p>
  
  <p>I would like to ask you to help me to understand why my code does compile with no implementation of the pure virtual function in the derived class. 
  I would be very happy to any hint that would help me to understand that.</p>
  
  <pre><code>├── AbstractClass.cpp
  ├── AbstractClass.h
  ├── cmake-build-debug
  ├── CMakeLists.txt
  ├── DerivedClass.cpp
  ├── DerivedClass.h
  └── main.cpp
  </code></pre>
  
  <p>main.cpp</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include "DerivedClass.h"
  
  int main() {
      std::cout &lt;&lt; "Hello, World!" &lt;&lt; std::endl;
      return 0;
  }
  </code></pre>
  
  <p>AbstractClass.h</p>
  
  <pre><code>#ifndef TUTORIAL_CLASSES_ABSTRACTCLASS_H
  #define TUTORIAL_CLASSES_ABSTRACTCLASS_H
  
  
  class AbstractClass {
  public:
      virtual int&amp; pure_virtual_function(int) = 0;
      virtual int const_member_function() const = 0;
      virtual ~AbstractClass() {};
  
  };
  
  
  #endif //TUTORIAL_CLASSES_ABSTRACTCLASS_H
  </code></pre>
  
  <p>AbstractCLass.cpp</p>
  
  <pre><code>#include "AbstractClass.h"
  </code></pre>
  
  <p>DerivedClass.h</p>
  
  <pre><code>#ifndef TUTORIAL_CLASSES_DERIVEDCLASS_H
  #define TUTORIAL_CLASSES_DERIVEDCLASS_H
  
  #include "AbstractClass.h"
  
      class DerivedClass : public AbstractClass{
      public:
          DerivedClass() {};
      };
  
  
      #endif //TUTORIAL_CLASSES_DERIVEDCLASS_H
  </code></pre>
  
  <p>DerivedClass.cpp</p>
  
  <pre><code>#include "DerivedClass.h"
  
  X555LJ:~/CLionProjects/tutorial_classes/cmake-build-debug$ make
  [100%] Built target tutorial_classes
  </code></pre>