If you namespace your private data with a struct, you will avoid the name clashes.

Qt Code:
  1. class A {
  2. public:
  3. int a() const { return data.a; }
  4. int b() const { return data.b; }
  5. int c() const { return data.c; }
  6.  
  7. private:
  8. struct {
  9. int a, b, c;
  10. } data;
  11. };
To copy to clipboard, switch view to plain text mode 

Because the struct itself is inlined, the compiler will optimize away the dereferencing.