Мне нужно написать конструктор копирования, который глубоко копирует содержимое std::shared_ptr
. Тем не менее, в классе также имеется группа переменных int a, b, c, d, e;
. Есть ли способ генерировать код конструктора копии по умолчанию (или вызвать конструктор копии по умолчанию) внутри моего нового перегруженного.
Вот фрагмент кода с комментарием, который, надеюсь, прояснит проблему.
class Foo {
public:
Foo() {}
Foo(Foo const & other);
...
private:
int a, b, c, d, e;
std::shared_ptr<Bla> p;
};
Foo::Foo(Foo const & other) {
p.reset(new Bla(*other.p));
// Can I avoid having to write the default copy constructor code below
a = other.a;
b = other.b;
c = other.c;
d = other.d;
e = other.e;
}