C ++ constructor de copia implícita para una clase que contiene otros objetos

Sé que el compilador a veces proporciona un constructor de copia predeterminado si no se implementa. Estoy confundido acerca de lo que hace exactamente este constructor. Si tengo una clase que contiene otros objetos, ninguno de los cuales tiene un constructor de copia declarado, ¿cuál será el comportamiento? Por ejemplo, una clase como esta:

class Foo {
  Bar bar;
};

class Bar {
  int i;
  Baz baz;
};

class Baz {
  int j;
};

Ahora si hago esto:

Foo f1;
Foo f2(f1);

¿Qué hará el constructor de copia predeterminado? ¿El constructor de copia generado por el compilador enFoo llamar al constructor generado por el compilador enBar para copiar sobrebar, que luego llamará al constructor de copia generado por el compilador enBaz?

Respuestas a la pregunta(5)

Su respuesta a la pregunta