La classe base è un po' come se fosse un campo nascosto della classe derivata, per cui, quando viene richiamato un qualunque costruttore della classe derivata (compreso il costruttore di copie), la classe base viene inizializzata con il costruttore di default.
Se questo non è ciò che si desidera (ad esempio perché è opportuno richiamare un costruttore parametrizzato), allora si può usare la sintassi dell'initialization list per richiamare un costruttore particolare della classe base.