Utilisez Visual Studio pour écrire un programme C++. La déclaration C++ est placée dans le fichier a.h et l'implémentation est placée dans a.cpp. Pourquoi pouvez-vous utiliser la classe implémentée dans a.cpp en référençant a.h dans main.cpp, while. faire référence à a.cpp signalera une erreur.
Je ne comprends pas très bien les règles. Quelqu'un peut-il m'expliquer ?
Tout d'abord, le premier signifie que vous souhaitez utiliser cette classe. Considérant que pendant le processus de compilation, vous pouvez utiliser cette classe et cette fonction tant qu'il y a une déclaration de la classe et de la fonction. Lors de la liaison, l'éditeur de liens recherchera. pour la définition de la classe et de la fonction dans d'autres fichiers. Dans ce dernier, vous n'avez pas de déclaration de la classe implémentée par a.cpp. Le compilateur ne connaît pas cette classe, donc une erreur de compilation se produit.
C'est écrit plus clairement ici, vous pouvez le comprendre
http://blog.csdn.net/praker/a...