title: C++ struct inheritance
body: <p>As far as I know the main difference (and may be the unique one) between classes and structs in C++ is that classes have their members private by default and structs have theirs public by default.</p>
  
  <p>However, and probably because I was a C-developer before, I still continue to declare structs to hold only "public" fields, and I almost never declare methods (except constructors to initialize members).</p>
  
  <p>I also want to take advantage of C++ inheritance for structs.</p>
  
  <p>My questions are:</p>
  
  <ol>
  <li>Even if the language allows it, is it a good practice to inherits structs ?</li>
  <li>Is it possible to prevent a struct to declare a virtual method, which will create a vtable and modify the size of the struct ?</li>
  </ol>
  
  <p>Thank you</p>