Usando delete.
codice:
//Primo caso: istanzio la classe sullo stack
void Test1()
{
    VettoreInt vi(10);
    //...
    return;
    //Al termine della funzione vi viene automaticamente deallocato
}
//Secondo caso: istanzio la classe nell'heap
void Test2()
{
    VettoreInt * vi = new VettoreInt(10);
    //...
    //vi va deallocato manualmente
    delete vi;
    return;
}
Tieni comunque conto che questo esempio non ha nulla a che vedere con i distruttori: è il codice che impiega la classe che si deve occupare di deallocarne le istanze (come in questo esempio); nel distruttore (che, se l'oggetto è allocato nell'heap, viene richiamato solo quando viene distrutto con delete) devi solo eliminare gli oggetti eventualmente allocati sull'heap dalla tua classe.