Kann eine statische Methode auf eine private Methode derselben Klasse zugreifen?

Ich habe diese Frage wegen des Konstruktors singleton / named. In beiden Fällen sind die realen Konstruktoren geschützt oder privat, auf die von außen nicht zugegriffen werden kann.

Ein kurz benannter Konstruktor lautet beispielsweise wie folgt:

 class A
{
  public:
    static A createA() { return A(0); } // named constructor
  private:
    A (int x);
};
int main(void)
{
   A a = A::createA(); 
}

Ich dachte, statische Methoden können nur auf statische Datenmember oder private Daten / Methoden über ein vorhandenes Objekt zugreifen. Im obigen Code ist jedoch private constructorA() ist nicht statisch und zum Zeitpunkt des Aufrufs ist auch kein Objekt vorhanden. Die einzige Erklärung, die mir einfällt, ist, dass statische Methoden auf nicht statische private Methoden derselben Klasse zugreifen können. Kann jemand bitte meinen Gedanken bestätigen oder ablehnen, möglicherweise mit ein paar Erklärungen?

Ich entschuldige mich, wenn dies zu trivial ist, aber die Schlüsselwörter sind zu häufig und ich konnte in Dutzenden von Google-Seiten keine Antwort finden. Danke im Voraus

Antworten auf die Frage(10)

Ihre Antwort auf die Frage