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;
};
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;
}
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?
Grazie