semplicemente tutti i file "utili" sono nel .pro (il progetto), è da quello che il compilatore capisce dove andarsi a prendere ciò che gli serve.
Il fatto che poi tu definisca i prototipi in un file diverso dal .cpp è "solo" una "buona abitudine", come ha detto scara95 potresti scrivere l'intera classe in un unico file.
Prova a vedere il file cpp con l'include, come un file nel quale nella prima parte c'è il contenuto del .h e nella sua seconda parte il contenuto del .cpp