3個文件:
main.cpp;
a.cpp;
a.h;
在main.cpp中:
#include "a.h"
在a.cpp中:
#include "a.h"
在a.h中:
#ifndef A_H
#define A_H
問題是A__H這個標識符在整個程序中是唯一的嗎,還是每個cpp都有一個不同的A____H,如果是前者的話,那麼實際上
a.h只在main.cpp中包含了一次,但是我如果把a.cpp中#include“a.h”注釋掉的話,程序會報錯,沒有定義相關的函數。
IDE是codeblocks
這個條件編譯宏是全局唯一的,加這個判斷是為了防止頭文件重復包含,為什麼要防止這個呢,因為在不同的編譯單元裡,如果有重復聲明或定義,那鏈接器就會報錯。但是你在a.cpp裡面還是要包含a.h,因為你得知道a.h裡面聲明的類型的內存結構