我們在寫頭檔案的時候,會用到其他類的頭檔案,有時候隻需要用到其他類的聲明,那麼在什麼情況下使用他們呢.
1.如果需要知道某個類的具體結構以及要使用這個類的某些接口,就要包含這個類的頭檔案,
2.如果我們隻需要用這個類定義函數的參數,傳回類型,或者聲明指針或者引用的類型,那隻要使用這個類的聲明就可以了.
編寫一個"drived.h"頭檔案
#ifndef _DRIVED_H_ #ifndef /#define /#endif 的使用是為了防止頭檔案被重複包含
#define _DRIVED_H_
#include "Base.h"
#include "Member.h"
class A;
class B;
class OtherMember;
class Drived : public Base //編譯器要通過基類的大小來決定派生類的大小,得知道基類的具體結構,要包含其頭檔案
{
friend void DoFun();
public:
~Drived(){}
B Fun(A& rhsA); //隻需要定義函數參數和傳回類型------使用其聲明就可以了
private:
Member aMember; //需要知道成員變量的具體大小來決定類的大小------包含其頭檔案
OtherMember* pOtherMember; //隻需要定義指針的類型-----使用其聲明就可以了
};
#endif
drived.cpp中你還要使用其他類的接口.把其他類的頭檔案在drived.cpp檔案中包含