title: Class member being an instance of another class
body: <p>I want to have a class member to be an instance of another class. But I get a warning "warning C4458: declaration of 'x' hides class member" and the code does not work. 
  <pre></p>
  
  <code>class Ca {
      int va = 5;
      public:
      Ca();
      int getVa(void);
  };
  
  int Ca::getVa(void) {
      return va;
  };
  
  
  class Cb {
      Ca x;
      public:
      Cb();
      int getCa(void);
  };
  
  Cb::Cb(void) {
      Ca x;   // instanciate Ca
  }
  
  int Cb::getCa(void) {
      return x.getVa();
  }
  
  int main()
  {
     Cb cb;  // instanciate Cb
     int i = cb.getCa();
     cout &lt;&lt; "va = " &lt;&lt; i &lt;&lt; endl; 
  }
  </code></pre>
  
  <p>I do not understand the warning, please could someone explain?</p>