No perchè per utilizzarle il programma non ha necessariamente bisogno della definizione: è sufficiente la dichiarazione e il codice compilato.
Tu scrivi la dichiarazione nel file .h, e la definizione nel file .cpp . Quando poi vai a compilare, il file .cpp viene trasformato in un file oggetto che contiene il codice compilato.
Quando poi vorrai distribuire il tuo programma ad altri, gli darai solo l'header file: in questo modo possono vedere quali funzioni/classi/variabili sono dichiarate nell'header e sapranno come usarle, ma non potranno andare a modificare il codice e nemmeno vedere come sia implementato.

Rispondi quotando