#include <iostream>
using namespace std;
struct A
{
A() // Конструктор по умолчанию (т.е. без параметров)
{
cout << "def ctor" << endl;
A a = A(0); // Создаем объект такого же класса, используя другой конструктор
this->v = a.v;
}
A( int v ) // Конструктор с параметром
{
cout << "param ctor" << endl;
//A a; // Если убрать комментарий, то будет зацикливание
this->v = v;
}
private:
int v;
};
int main() {
A a;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEEKewogICAgQSgpIC8vINCa0L7QvdGB0YLRgNGD0LrRgtC+0YAg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gKNGCLtC1LiDQsdC10Lcg0L/QsNGA0LDQvNC10YLRgNC+0LIpCiAgICB7CiAgICAgICAgY291dCA8PCAiZGVmIGN0b3IiIDw8IGVuZGw7ICAgICAgICAKICAgICAgICBBIGEgPSBBKDApOyAvLyDQodC+0LfQtNCw0LXQvCDQvtCx0YrQtdC60YIg0YLQsNC60L7Qs9C+INC20LUg0LrQu9Cw0YHRgdCwLCDQuNGB0L/QvtC70YzQt9GD0Y8g0LTRgNGD0LPQvtC5INC60L7QvdGB0YLRgNGD0LrRgtC+0YAgCiAgICAgICAgdGhpcy0+diA9IGEudjsKICAgIH0KICAgIEEoIGludCB2ICkgLy8g0JrQvtC90YHRgtGA0YPQutGC0L7RgCDRgSDQv9Cw0YDQsNC80LXRgtGA0L7QvCAKICAgIHsKICAgICAgICBjb3V0IDw8ICJwYXJhbSBjdG9yIiA8PCBlbmRsOwogICAgICAgIC8vQSBhOyAvLyDQldGB0LvQuCDRg9Cx0YDQsNGC0Ywg0LrQvtC80LzQtdC90YLQsNGA0LjQuSwg0YLQviDQsdGD0LTQtdGCINC30LDRhtC40LrQu9C40LLQsNC90LjQtQogICAgICAgIHRoaXMtPnYgPSB2OwogICAgfQpwcml2YXRlOgogICBpbnQgdjsgCn07CgppbnQgbWFpbigpIHsKCiAgICBBIGE7CgoJcmV0dXJuIDA7Cgp9