C++前置声明

1.用来解决两个类之间的强耦合问题,例如:函数

#include "B.h"  
class A  
{  
    B b;  
public:  
    A(void);  
    virtual ~A(void);  
};  
   
#include "A.h"  
A::A(void)  
{  
}  
  
  
A::~A(void)  
{  
}  

#include "A.h"  
class B  
{  
    A a;  
public:  
    B(void);  
    ~B(void);  
};  
   
#include "B.h"  
B::B(void)  
{  
}  
B::~B(void)  
{  
}

上面编译不能经过,能够经过前置声明,而后在须要用到的类中定义该前置声明的_指针或引用_, 而后在指针或引用实例化的地方包含前置声明类的头文件。 此外,前置声明能够减小头文件的包含层次,减小出错可能!指针

2.前置声明在友元类方法中的应用code

若是在一个类A的声明中将另外一个类B的成员函数声明为友元函数F,那么类A必须事先知道类B的定义;类B的成员函数F声明若是使用类A做为形参,那么也必须知道类A的定义,那么两个类就互相依赖了。要解决这个问题必须使用类的前置声明。编译

相关文章
相关标签/搜索