刚开始学习c++的人都会遇到这样的问题:
定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就成了这样:
//a.h
#include "b.h"
class A
{
....
private:
B b;
};
//另一个头文件 b.h
#include "a.h"
class B
{
....
private:
A a;
};
一编译,就出现了一个互包含的问题了,这时就有人跳出来说,这个问题的解决办法可以这样,在a.h文件中声明类B,然

本文探讨了C++中类的前置声明如何解决互包含问题,以及其带来的好处,如减小类的大小和仅需重新编译相关类。前置声明仅允许使用类的指针和引用,因为它们不需要类的完整信息,而包含类的对象则需要类的大小信息,故需要完整包含。
最低0.47元/天 解锁文章
705

被折叠的 条评论
为什么被折叠?



