Originariamente inviato da lolide
Infatti non devi riallocare una classe. E' una cosa da fare solamente con i tipi primari come dice MItaly che comunque secondo me è una cosa fattibilissima, cioè:

se volessi creare una classe String come con Java, alla fine devi avere sempre un puntatore interno di char che mantiene la stringa. Per ridimensionare automaticamente la String, basta fare realloc sull'array interno di char

Se volessi fare un'array di String dinamico (StringArray), come fa std::vector, basta tenere in questa classe un puntatore a String. Usi malloc(), realloc() e free() per gestirlo e poi li inizializzi con il loro costruttore.
Per le classi string ok. Ma se volessi creare una classe tamplate che mi tratta anche i tipi non primitivi malloc(), realloc() e free() non vanno più bene, no?!