C++中两个类互相包含的策略
上一篇 /
下一篇 2012-09-13 09:13:08
/ 个人分类:C++
51Testing软件测试网3{{Y)Cje@9eW 一、问题描述
A/K:eM@)f:kEM0
51Testing软件测试网@1~'|2kz
A!n A类包含B类的实例,而B类也包含A类的实例51Testing软件测试网Ml#V(@4T m
{4z/S5y5^o!i*A0 二、求解策略
zL7vr$pd0
o3V8ZY:fdR0 1)错误的解法
U1eK@)T0
51Testing软件测试网6A9LK;S:yu A文件包含B,而B文件又包含A文件,这样就形成死循环
&l Hq2um2d3f0
8T6s*\*r7xCv0
{
j d}L0
#include "B.h" 51Testing软件测试网9W%H2aqD.V+\ G3e7wy%~ Na+L |_Pn0class A 51Testing软件测试网p` S+`xK Xz { 51Testing软件测试网4w~x(n*k?n?)D(f int i; (k!V]&^7w"^'C0 B b; Z)M,yZ+nE _0}; :KIU-_4Pv.L*b'F0 Q]JHG0#include "A.h" 4D"u/v}c(dQ]0class B 4x eO6g^0QS nP0{ $ayY1j@?q&F%l#{0 int i; 51Testing软件测试网0F
R$@+e:W;S M8X A a; a8hlh~*u!\5|0}; |
51Testing软件测试网~4TqFX os5J5X 2)正确的写法以及注意事项
1ye_w9yGd9s0
|_$ptRq4qF?
FL0 1)主函数只需要包含b.h 就可以,因为b.h中包含了a.h
6o ZbHG@-x0
51Testing软件测试网aZ&El8Z8g"^] 2)a.h中不需要包含b.h,但要声明class b。在避免死循环的同时也成功引用了b