如果类B仅使用了类A的指针或引用,那么一可以在类B的头文件中使用一个类A的前向声明就可以。这是因为指针的长度于只平台有关。
而如果类B使用了类A的成员函数或成员变量的话,或者如果类B的定义中包含一个类A的对象而不是类A的一个指针或引用的话,就不能只用前向声明了,因为B的头文件在编译时,编译器需要知道B的大小,从而就需要知道A的大小。这时,就需要包含类A的头文件了。
本文探讨了在C++中,当类B仅使用类A的指针或引用时,如何在类B的头文件中使用类A的前向声明。同时解释了在使用类A的成员函数或成员变量,或类B定义中包含类A对象的情况下,为什么不能仅使用前向声明,而是需要包含类A的头文件。
如果类B仅使用了类A的指针或引用,那么一可以在类B的头文件中使用一个类A的前向声明就可以。这是因为指针的长度于只平台有关。
而如果类B使用了类A的成员函数或成员变量的话,或者如果类B的定义中包含一个类A的对象而不是类A的一个指针或引用的话,就不能只用前向声明了,因为B的头文件在编译时,编译器需要知道B的大小,从而就需要知道A的大小。这时,就需要包含类A的头文件了。

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