#include <vector>
class c_A {
public:
std::vector<int> v;
c_A one_element(void) {
c_A res;
res.v = v;
res.v.resize(1);
return res;
};
};
class c_Aext : public c_A {
public:
c_Aext() : c_A() { } // just call parent's default
c_Aext(const c_A c) : c_A(c) { } // call parent's copy
c_Aext one_element() {
return c_Aext(c_A::one_element());
}
};
int main () {
c_Aext Aext;
Aext.v = {0, 1, 2};
c_Aext B = Aext.one_element(); // The problem
return 0;
};
I2luY2x1ZGUgPHZlY3Rvcj4gICAgICAgCgpjbGFzcyBjX0EgewogICAgcHVibGljOgogICAgICAgIHN0ZDo6dmVjdG9yPGludD4gdjsKICAgICAgICBjX0Egb25lX2VsZW1lbnQodm9pZCkgewogICAgICAgICAgICBjX0EgcmVzOyAKICAgICAgICAgICAgcmVzLnYgPSB2OwogICAgICAgICAgICByZXMudi5yZXNpemUoMSk7CiAgICAgICAgICAgIHJldHVybiByZXM7CiAgICAgICAgfTsKfTsKCmNsYXNzIGNfQWV4dCA6IHB1YmxpYyBjX0EgeyAKcHVibGljOgogICAgY19BZXh0KCkgOiBjX0EoKSB7IH0gLy8ganVzdCBjYWxsIHBhcmVudCdzIGRlZmF1bHQKICAgIGNfQWV4dChjb25zdCBjX0EgYykgOiBjX0EoYykgeyB9IC8vIGNhbGwgcGFyZW50J3MgY29weQoKICAgIGNfQWV4dCBvbmVfZWxlbWVudCgpIHsKICAgICAgICByZXR1cm4gY19BZXh0KGNfQTo6b25lX2VsZW1lbnQoKSk7CiAgICB9Cn07CgppbnQgbWFpbiAoKSB7CiAKICAgY19BZXh0IEFleHQ7CiAgIEFleHQudiA9IHswLCAxLCAyfTsKICAgY19BZXh0IEIgPSBBZXh0Lm9uZV9lbGVtZW50KCk7IC8vIFRoZSBwcm9ibGVtCiAgIHJldHVybiAwOwp9Ow==