Ciao a tutti,
spero che il titolo sia in linea con il problema! Ho una funzione che stampa una lista di contatti:

codice:
           friend ostream& operator <<(ostream& output,struct contatto& print){
                output<< print.t<< ": ";
                output<< print.n; 
                return output;
            }
Così funziona, ma non mi piace molto, perchè il risultato è questo:
1: primonumero
2: secondonumero

etc etc

Adesso, al posto di 1: e 2: vorrei scrivere la tipologia, quindi ho modificato così il programma:
codice:
            friend ostream& operator <<(ostream& output,struct contatto& print){
                if(print.t=="1")
                    output<<"valore 1: ";
                if(print.t=="2")
                    output<<"valore 2: ";
                if(print.t=="3")
                    output<<"valore 3: ";

                output<< print.n;  //RESTITUISCE BENE IL NUMERO
                return output;
            }
io mi aspettavo di vedere:
valore 1: primonumero
valore 2: secondonumero

etc etc

invece viene fuori:
primonumero
secondonumero


Contatto è dichiarato così:
codice:
        struct contatto{
            char* t;
            char* n;
            contatto(){
                t=0;
                n=0;
            }
Suppongo che il problema è che t, è un puntatore al char, giusto? come posso risolvere il problema?
Grazie mille.