一般解決方法
一般情況下在學習數據結構的時候會在程序中添加類,這個時候就有可能產生重定義的問題,解決的辦法就是添加extern聲明,上過c語言的都知道。例如:
現有三個文件:
a.h
a.cpp
main.cpp
其中a.h是所創建類的聲明以及函數聲明。a.cpp是這個類的實現,main.cpp是我們的主函數。若a.h裏面有一個或者若干個變量,假設其中有一個int類型的變量cnt,因爲在a.cpp和main.cpp中我們包含了a.h,所以同樣使用了a.h中的變量cnt,這時候就要添加extern聲明。我們把a.h中的變量cnt重新聲明:
extern int cnt;
在a.cpp中也要對cnt進行聲明,但不用加extern
int cnt;
如果這個變量是有初值的,要在a.cpp文件中聲明,而不是a.h中
int cnt = 233;
至於main.cpp是不是要更改呢?答案是不用,不管你有沒有使用這個變量,都是不需要的。