title: Class redefinition error with multiple #include files? (C++)
body: <p>Basically this:</p>
  
  <p>Car and Truck are both derived from the Vehicle class.</p>
  
  <p>Car.h</p>
  
  <pre><code>#include "Vehicle.h"
  class Car : public Vehicle {
  //blah blah blah
  </code></pre>
  
  <p>Truck.h</p>
  
  <pre><code> #include "Vehicle.h"
   class Truck : public Vehicle {
   //blah blah blah
  </code></pre>
  
  <p>Main.cpp</p>
  
  <pre><code>#include "Car.h"
  #include "Truck.h"
  </code></pre>
  
  <p>My issue is that I get a class redefinition error on Truck (due to it calling Vehicle a second time) when I have the #include line there, but when I remove it, I have the "expected class name before { token".</p>
  
  <p>I get that with 
  Main -> Car -> Vehicle
  Main -> Truck -> Vehicle (redefinition)</p>
  
  <p>will cause an error. </p>
  
  <p>But if I remove the #include "Vehicle.h" from Truck it also causes another error where it expects a class name.</p>