当一个头文件引用另一个头文件中的类~
生活随笔
收集整理的這篇文章主要介紹了
当一个头文件引用另一个头文件中的类~
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.C++頭文件中的類相互引用
核心:頭文件相互引用,一個#include,另一個class C
C++頭文件相互#include時最好是:(1)在"CA.h"中 #include "CB.h".
(2)在"CB.h"中用類的前向聲明: class CA;
(3)最好加上頭文件衛士( #ifndef *** ? #define *** ?#endif)
2.示例代碼
(1)"CA.h":#ifndef HEADER_CA #define HEADER_CA #include "CB.h" class CA {CB* pB;CB b; //正確,因為此處已經知道CB類的大小,且定義了CB,可以為b分配空間 }; #endif (2)"CB.h":
#ifndef HEADER_CB #define HEADER_CB class CA;//這個必須要用,不能只用#include "CA.h",如果只是#include "CA.h"而沒有class CA;則會報錯. class CB {CA* pA;//CA a;//錯誤,因為此時還不知道CA的大小,無法分配空間 }; #endif (3)"CA.cpp":
#include "CA.h"
但是,*.cpp文件只能#include “CA.h”.如果#icnlude “CB.h”則錯誤(展開后CA不識別CB)。
總結
以上是生活随笔為你收集整理的当一个头文件引用另一个头文件中的类~的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软:“不好意思,我们还不够Cool,不
- 下一篇: 我看中国软件---人才篇