Construtor padrão c ++
Estou tentando entender como o construtor padrão (fornecido pelo compilador se você não escrever um) versus seu próprio construtor padrão funciona.
Então, por exemplo, eu escrevi esta classe simples:
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;
}
A saída é:
Construtor padrão chamado A
O construtor de argumentos chamou A
Então, para o último, há outro construtor chamado e minha pergunta é qual e qual o tipo n nesse caso?