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.