Guest User

Untitled

a guest
Jun 21st, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.61 KB | None | 0 0
  1. #include <QSlider>
  2.  
  3. class QSlider;
  4.  
  5. // a.h
  6. #include "b.h"
  7. struct A { B * a; }
  8.  
  9. // b.h
  10. #include "a." // circlular include reference
  11. struct B { A * a; }
  12.  
  13. // Solution: break circular reference by forward delcaration of B or A
  14.  
  15. // foo.h
  16. #include <qslider>
  17. class Foo
  18. {
  19. QSlider * someSlider;
  20. }
  21.  
  22. // bar.h
  23. #include "foo.h"
  24. class Bar
  25. {
  26. Foo * kungFoo;
  27. // ...
  28. }
  29.  
  30. // bar.h
  31. class Foo;
  32. class Bar
  33. {
  34. Foo * kungFoo;
  35. // ...
  36. }
  37.  
  38. // bar.cpp
  39. #include "bar.h"
  40. #include "foo.h"
  41. // ...
  42.  
  43. /* --- --- --- Y.hpp */
  44. class X;
  45. class Y {
  46. X *x;
  47. };
  48.  
  49. /* --- --- --- Y.cpp */
  50. #include <x.hpp>
  51. #include <y.hpp>
  52.  
  53. ...
Add Comment
Please, Sign In to add comment