poligono bz();

e' la dichiarazione di una funzione bz che non ha parametri e restituisce un oggetto poligono.

Per istanziare un oggetto poligono con il costruttore di default, devi scrivere

poligono bz;

Una volta istanziato l'oggetto, la riga

poligono test = bz;

utilizzera' il costruttore di copia.

La riga

poligono test2 = poligono(3, cc);

e' equivalente

poligono test2(3, cc);

Non vedo perche' debba essere chiamato il costruttore di copia.