我们在写头文件的时候,会用到其他类的头文件,有时候只需要用到其他类的声明,那么在什么情况下使用他们呢.
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文件中包含