codice:
main()
{
int *alfa, *beta; // Hai dichiarato due puntatori a intero
alfa=new int; // Hai allocato lo spazio per un intero e assegnato
// l'indirizzo di tale spazio al primo puntatore
// Il valore dell'intero non e' stato definito
beta=alfa; // Hai copiato il puntatore precedente al secondo
// Adesso sia alfa che beta puntano alla stessa
// area di memoria, cioe' allo stesso valore intero
*beta=32; // Tramite il puntatore beta viene assegnato il valore
// dell'intero. Dato che e' la stessa area di memoria
// puntata da alfa, anche alfa punterà al valore 32
beta=new int; // Hai allocato un nuovo spazio di memoria contenente
// un intero e hai assegnato il suo indirizzo a beta
// beta non punta piu' allo spazio puntato da alfa
*beta=33; // Assegni il valore 33 al nuovo intero puntato da beta
cout<<*alfa; // Visualizzi il valore puntato da alfa che deve essere
// 32 in quanto assegnato in precedenza tramite la copia
// di alfa fatta su beta
system("pause");
return 0;
}
E' piu' semplice di quel che pensi ... quali sono i tuoi dubbi?