Include guard: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Errore riguardo alla generazione dei file oggetto. Gli header file non vengono compilati in file oggetto differenti ma semplicemente inclusi in main.cpp prima della compilazione.
Compilazione: Evidenziato punto da chiarire
Etichette: Modifica da mobile Modifica da web per mobile
Riga 41:
In fase di compilazione, verra creato un file oggetto: main.o Gli header files vengono inclusi nel file sorgente main.cpp ovvero il loro contenuto viene copiato dal preprocessore all'inizio del file main.cpp prima della compilazione.
 
Senza interessarci delle implementazioni di persona e impiegato, il nostro obiettivo sarà quello di usare indistintamente una persona o un impiegato (ed i relativi metodi). Quando il linker andrà a creare l'eseguibile definitivo, avrà una doppia dichiarazione di persona e rilascerà un errore di linkaggio. Infatti la classe persona sarà definita sia nel file <tt>persona.o</tt> che nel file <tt>impiegato.o</tt>. In quest'ultimo caso è necessario inserire la dichiarazione di persona. [Questo periodo non è chiaro]
 
Per non avere questo tipo di problema basta utilizzare le #include guard in questa maniera: