Standardkonstruktor c ++

Ich versuche zu verstehen, wie der Standardkonstruktor (vom Compiler bereitgestellt, wenn Sie keinen schreiben) im Vergleich zu Ihrem eigenen Standardkonstruktor funktioniert.

So habe ich zum Beispiel diese einfache Klasse geschrieben:

class A
{
    private:
        int x;
    public:
        A() { std::cout << "Default constructor called for A\n"; }
        A(int x)
        {
            std::cout << "Argument constructor called for A\n";
            this->x = x;
        }
};

int main (int argc, char const *argv[])
{
    A m;
    A p(0);
    A n();

    return 0;
}

Die Ausgabe ist:

Standardkonstruktor für A aufgerufen

Argumentkonstruktor für A aufgerufen

Für den letzten gibt es also einen anderen Konstruktor, und meine Frage ist, welcher und welcher Typ n in diesem Fall hat.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage