//a.h
#ifndef _A_H
#define _A_H
class A
{
pbulic:
A(){}
~A(){}
}
#endif
// B.h
#ifndef _B_H
#define _B_H
#include "a.h"
class B : public A
{
public:
B(){}
~B(){}
}
#endif
// C.h
#ifndef _C_H
#define _C_H
#include "a.h"
class C : public A
{
public:
C(){}
~C(){}
}
#endif
// main.cpp
#include "b.h"
#include "c.h"
int main()
{
B b;
C c;
return 0;
}
如果A.h中没有#ifndef ...则编译器会报错