   Class organization question
  I am struggling a bit with how I am organizing my game project and I was wondering if anyone has any input.Here is what I have so far:- The Application class that creates each of the lower modules.- The Renderer and Input classes that are used by the Application.  The application also creates the Mesh classes to represent the geometry to be rendered.- A texture manager class and a material manager class are statically declared withing the Renderer.At startup the application creates a Mesh object and tells it to load the vertex and material data from a file.  Then the Mesh is supposed to register its material and texture with the manager classes that are resident in the Renderer to eliminate duplicate textures and materials (the Mesh object gets a material and texture ID which would be passed to the renderer during the MeshDraw() function.Here is where the problem arises.  The Renderer has the Mesh header #included in it because it needs to know how to access the vertex data.  But the Mesh class would have to have the Renderer header #included in it or else it can''t use the manager classes.Am I just thinking about this the wrong way?  Is there some very simple solution to this?  I have been trying to wrap my mind around this all day and haven''t been able to come up with something simple.  Any suggestions?  Thanks in advance. 
  you can always use forward delcarations in the header file if you are not instanciating or using the pointers in an inlide function.// header Aclass B;class A{ B* m_Poiner; };// header Bclass A;class B{ A* m_Poiner; };I suggest you to not try to think about design too much and instead try to get things done. If you are having problems with all the C++ features that you don''t know how to handle just give C a try. It will probablly make your life easier.