Salve,
scusate ma l'uso di questi header mi crea non pochi problemi. Con l'aiuto di questo forum e googlando ho capito che prima dlla compilazione vera e propria, il preprocessore, legge le direttive #nclude <file.h> e le sostiutisce con i prototipi di funzione in esso presente, Ora, in rete ho trovato questo stupido programma composto da tre file:
codice://myfunction.h int div(int a, int b); int mul(int a, int b);codice://myfunction.cpp int div(int a, int b) { return a/b; }; int mul(int a, int b) { return a*b; };Compilandolo ed eseguendolo funziona e non capisco perchè...nel main viene sostituito #include con le dichiarazioni del file header, ma non bisogna in qualche modo legare anche l'implementazione? Inoltre come mai la compilazione va sempre a buon fine anche invertendo l'ordine dei file da compilare?codice:#include<iostream> #include"myfunc.h" using namespace std; int main() { int a=6; int b=3; cout<<"a="<<a<<", b="<<b<<'\n'; cout<<"a/b="<<div(a,b)<<'\n'; cout<<"a*b="<<mul(a,b)<<'\n'; return 0; }
Grazie

Rispondi quotando