title: Can a Static method access a private method of the same class?
body: <p>I have this question because of the singleton/named constructor. In both cases, the real constructors are protected or private, neither of which can be accessed from outside. </p>
  
  <p>For example, a short named constructor is this:</p>
  
  <pre><code> class A
  {
    public:
      static A createA() { return A(0); } // named constructor
    private:
      A (int x);
  };
  int main(void)
  {
     A a = A::createA(); 
  }
  </code></pre>
  
  <p>I thought static method can only access static data member, or access private data/method via an existing object.
  However, in the above code, private constructor <code>A()</code> isn't static, and at the time it is being called, no object exists either.
  So the only explanation I can think of is that static method can access non-static private method of the same class. Can anyone please either affirm or negate my thought, possibly with some lines of explanations? </p>
  
  <p>I apologize if this is too trivial however the key words are too common and I wasn't able to find an answer in dozens of google pages. Thanks in advance.</p>