Мне нужно написать копию конструктора, который глубоко копирует содержимое 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;
}