Include guard: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
ValterVBot (discussione | contributi)
m tag source deprecati, replaced: <source lang= → <syntaxhighlight lang= (5), </source> → </syntaxhighlight> (5)
Xr1blu (discussione | contributi)
Funzionalità collegamenti suggeriti: 1 collegamento inserito.
 
(Una versione intermedia di un altro utente non mostrate)
Riga 39:
 
== Compilazione ==
In fase di compilazione, verraverrà 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 <kbd>persona.o</kbd> che nel file <kbd>impiegato.o</kbd>. In quest'ultimo caso, quello del file <kbd>impiegato.o</kbd>, è necessario inserire la dichiarazione di persona per via della direttiva #include specificata.