[C++] compilare con classi in file separati

superpunk733
Salve a tutti; Il libro di programmazione, non so per quale motivo, ci suggerisce di suddividere la programmazione in 3 sorgenti, per quanto riguarda una classe:

un file GradeBook.h, con l'interfaccia della classe (private, public, prototipi delle funzioni e compagnia) :-D

un file GradeBook.cpp con l'implementazione delle funzioni e dei costruttori

un sorgente, che ora chiamerò programma.cpp, con inclusa la classe "GradeBook.h", per utilizzarla, praticamente il programma principale con int main().

La domanda è: come si compila tutta questa roba con il g++? Come si linkano insieme tutti questi file? Aiutatemi senno schiaffo tutto in GradeBook.h e buonanotte :-D

Grazie

Risposte
TomSawyer1
g++ -o nomefile GradeBook.cpp programma.cpp

L'ordine dovrebbe essere questo, comunque l'idea è quella di elencare i file, tranne l'header, che deve stare nella stessa cartella degli altri file.

PS: i motivi per cui si separano le classi in header e implementazioni sono molto validi. Cioè: l'idea delle classi è di scrivere codice che possa essere facilmente implementabile in vari programmi. Teoricamente, si compila l'implementazione (in .obj) e si passa, a chi ha bisogno delle funzioni che hai scritto, il .obj e l'header, con le intestazioni di tutte le funzioni. Questo serve a "nascondere" il codice, quindi a proteggerlo.

superpunk733
Ora va. Prima mi dava un errore, ma ho capito poi che mi ero dimenticato un punto e virgola nel sorgente... (banale quanto frequentissimo errore)

Grazie! :D

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.