Вызовите конструктор копирования по умолчанию из в пределах перегруженного конструктора копирования

Мне нужно написать копию конструктора, который глубоко копирует содержимое 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;
}
11
задан Alan Turing 4 September 2011 в 15:26
поделиться