PDA

Visualizza la versione completa : [C++] Differenza Header e Source?


Ippo343
20-06-2009, 18:42
Salve a tutti...

Mi rendo conto che con questa domanda mi merito pagine e pagine di "noob", perņ la faccio lo stesso xD

Sto cercando di imparare C++ e uso Code::Blocks come IDE. Dal menu file posso aggiungere due tipi di file. Gli header e i "c++ source" (sorgente).

Ora, se io dichiaro una classe in un file header (.h) e includo l'header nel file "main.cpp" (che ovviamente contiene main()), funziona tutto senza nessun problema. Se io invece aggiungo la dichiarazione della classe in un file sorgente (.cpp), questo file viene compilato senza problemi, ma non so come includerlo nel main.

Ora, mi pare logico che non ho ben capito la differenza tra gli header e i file normali. Cosa me ne faccio di un file normale se posso scrivere tutto il codice negli header? :confused:

Ippo343
20-06-2009, 18:50
Update:

Ho appena provato a fare un test. Ho dichiarato la classe e una costante necessaria alla classe nell'header, mentre tutte le implementazioni dei metodi in un file .cpp che include l'header e richiama la costante come extern.

Pare che funzioni.

Mi pare di capire quindi che le dichiarazioni di tipi e costanti dovrebbero andare negli header, mentre le implementazioni dei metodi in file .cpp (che includano l'header). Giusto?

Loading