title: subclass does not inherit grandparent properties
body: <p>I have the following C++ code:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;string&gt;
  using namespace std;
  
  class Surface
  {
  public:
      virtual void draw();
  protected:
      int x,y;
  };
  
  class Control: public Surface
  {
  public:
      Control(): x(10), y(10), name("control") { cout &lt;&lt; "Control constructor" &lt;&lt; endl; }
      void draw() {}
  protected:
      string name;
  };
  
  class Label: public Control
  {
  public:
      Label(): x(10), y(10), name("label"), text("label") { cout &lt;&lt; "Label constructor" &lt;&lt; endl; }
      void draw() { cout &lt;&lt; "drawing a label" &lt;&lt; endl; }
  
  protected:
      string text;
  };
  
  int main(int argc, const char *argv[])
  {
      Label l;
      return 0;
  }
  </code></pre>
  
  <p>When trying to compile, i get the following errors:</p>
  
  <pre><code>$ g++ main.cpp
  main.cpp: In constructor 'Control::Control()':
  main.cpp:16:16: error: class 'Control' does not have any field named 'x'
  main.cpp:16:23: error: class 'Control' does not have any field named 'y'
  main.cpp: In constructor 'Label::Label()':
  main.cpp:25:14: error: class 'Label' does not have any field named 'x'
  main.cpp:25:21: error: class 'Label' does not have any field named 'y'
  main.cpp:25:28: error: class 'Label' does not have any field named 'name'
  </code></pre>
  
  <p>I don't understand why aren't <code>Control</code> and <code>Label</code> inheriting <code>Surface</code>s properties ?</p>