Data la seguente classe:
class Pila {
   int nelem;
   int pun;
   int* vet;
public:
   Pila(int N=100) { vet=new int[nelem=N]; pun=0 }
   ...
}
Se ben interpreto il codice quando definisco un oggetto di tipo Pila senza parametri, ad esempio 
Pila pp, viene definita una variabile intera di identificatore 
N inizializzata a 100.
Se invece definisco una oggetto di tipo Pila con un parametro, ad esempio 
Pila dd(20), immagino venga costruita una pila di 20 elementi ma in questo caso la variabile N da quale istruzione viene allocata?!?!? Viene eseguito ugualmente il codice 'int N=100' 
ignorando  l'inizializzazione uguale =100 ?