27/02/09 10:28
gigisoft
Postato originariamente da skip:
aspe....è perche no? ki me lo vieta?
E' buona norma di programmazione inserire la definizione di una classe in un file header anche se non è indispensabile. Tutte le implementazioni dei metodi della classe andranno, invece, inseriti nel file con estensione cpp.
se inserisco le direttive descritte prima nn succede nulla, e le variabili nell'header vengono definite una volta sola
aspe....è perche no? ki me lo vieta?
E' buona norma di programmazione inserire la definizione di una classe in un file header anche se non è indispensabile. Tutte le implementazioni dei metodi della classe andranno, invece, inseriti nel file con estensione cpp.
se inserisco le direttive descritte prima nn succede nulla, e le variabili nell'header vengono definite una volta sola
in teoria si, e probabilmente il compilatore non ti dice niente, ma per una questione di ordine e' bene avere negli header solo le definizioni ( tipi, classi, costanti, ecc..., al limite variabili statiche ), ossia tutto cio' che presumibilmente deve essere condiviso da piu' file, mentre tutte le dichiarazioni di variabili e le implementazioni e' bene che stiano nei file cpp.
Anche perche' si potrebbe generare confusione; se per esempio dichiaro una variabile x in un header, che poi includo separatamente in due file cpp dello stesso progetto, con l'intenzione di avere un'unica variabile x condivisa tra i due file, mi ritrovero' invece a replicare localmente ai due file la dichiarazione di x, per cui mi ritrovero' con due variabili x ognuna locale per uno dei due file.
Spero di essere stato abbastanza chiaro.
Luigi
Ultima modifica effettuata da gigisoft 27/02/09 10:30
aaa