subclass does not inherit grandparent properties
<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>
