1) 'const int costo = 1200' e 'const int max = 100' sono sbagliati perché i membri const di un oggetto vanno inizializzati nella lista di inizializzazione del costruttore (anzi, di tutti i costruttori);
2) non è un errore sintattico ma ti consiglio di correggerlo (non ai fini della compilazione): in 'gestione' dovresti includere anche un distruttore che deallochi 'indice', altrimenti c'è spreco di memoria (memory leak);codice:// costruttori utenza::utenza() : costo( 1200 ) { ... } gestione::gestione() : max( 100 ) { ... }
3) in 'gestione::aggiornamento' sarebbe opportuno aggiungere il tipo restituito (di default è 'int'), ma penso sia addirittura necessario (in C++, non in C mi pare) che il metodo restituisca un valore di ritorno, cosa che invece in questo caso non vedo fare;
4) in 'verifica_numero' accedi a membri della classe 'utenza' dichiarati come privati; puoi risolvere l'errore o scrivendo dei metodi accessori oppure dichiarando in 'utenza' la classe 'gestione' come 'friend'.
Queste sono le cose che secondo me saltano un po' più all'occhio. Cmq se hai altri problemi fammi sapere!
Ciao.