Allora ho un problema sulla popolazione di un array di classi..

questa è la mia classe:
codice:
Class corsi
{
    private:
       string nome;
       string argomento;
    public:
        corsi();
}
detto questo uso questa funzione per leggere da flie e popolare la classe:
codice:
void leggi(ifstream& in)
{
   in.getline(nome,50,'$');
   in.getiline(argomento,50,'$');
}
Il problema è che la getline accetta come primo argomento un array di char, ma nel mio caso è espressamente richiesto di uasere stringhe... come posso fare per fare accettare al getline delle stringhe?
Sono costretto ad usare una variabile temp di char e poi scriverla sulla stringa?