getchar e getline non sono comandi ma funzioni

string è una classe

Cosa non comprendi? Esiste la documentazione per tutto quello che hai chiesto e una domanda così generica ha poco senso ...