Допустим, у нас есть два класса в C++:Простой конструктор копирования в C++
Class A{
public:
A();
private:
int k;
};
Class B{
public:
B();
private:
A a;
};
отредактировать мой вопрос таким образом, что она является более полезным для тех, кто действительно достигает его когда-нибудь.
Как я мог бы написать копию CTOR из B
(это его копия т е р в самом деле?) Для инициализации a
(который имеет тип Class A
) с другим объектом экземпляра A
(пусть это будет a_inst
), которые уже были определены и инициализированы раньше?
Другими словами, какой будет код для ctor B()?
'B (const B & src): a (src.a) {}' – Rabbid76
вы не делаете, в таких случаях, как ваш, проще просто удалить все конструкторы и дать компилятору сгенерировать их все для вас (https : //rmf.io/cxx11/rule-of-zero/). – Mgetz
Вам не нужен конструктор-копир, если ваш класс не имеет дело с каким-либо ресурсом. В вашем случае это не просто позволяет компилятору обрабатывать все для вас. Прочтите https://en.wikipedia.org/wiki/Rule_of_three_(C%2B%2B_programming) для получения дополнительной информации. – 4386427