Include guard: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Compilazione: Evidenziato punto da chiarire Etichette: Modifica da mobile Modifica da web per mobile |
→Compilazione: Specificato un'affermazione 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, quello del file <tt>persona.o</tt>,
è necessario inserire la dichiarazione di persona Per non avere questo tipo di problema basta utilizzare le #include guard in questa maniera:
|