Ho provato a utilizzare gets in due modi:

1)

nel main

codice:
string ciao;
gets(ciao);
cout<<ciao;
tutto bene, mi dà tutta la stringa con spazi.

2)Ho provato a metterlo nel codice della classe

codice:
cout<<"Nome Attrezzo: "; gets(NomeAttrezzo);
cout<<"Quantita: "....
quando eseguo, mi esce il cout dell'Attrezzo ma non mi fa inserire da input la stringa e passa subito all'inserimento dell'intero successivo