Конструктор по умолчанию c ++
Я пытаюсь понять, как работает конструктор по умолчанию (предоставляемый компилятором, если вы его не пишете) по сравнению с вашим собственным конструктором по умолчанию.
Так, например, я написал этот простой класс:
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
Аргумент конструктор призвал к
Итак, для последнего есть другой конструктор, и мой вопрос в том, какой и какой тип n имеет в этом случае?