What is the best way to handle multiple object dependencies in C++?
<p>I'm building a C++ application, and I've got several utility objects that all of my classes need to use.  These are things like the logging object, the global state object, the DAL object, etc...</p>

<p>Up until this point, I've been passing all of these objects around as references into my class constructors.  </p>

<p>For example:</p>

<pre>
class Honda : public Car
{
    public:
        Honda ( const GlobalState & state, 
                const Log & logger, 
                const DAL & dal );

    ...

    private:
      const GlobalState & my_state;
      const Log & my_logger;
      const DAL & my_dal;
}
</pre>

<p>This gets tedious fast, because each time I add a utility object that all of my classes need to access, I have to go and change the constructors everywhere.</p>

<p>I've heard that the correct way to solve this problem is to create one struct that contains all the different utility objects and pass that around (as a reference) to all of the objects that need to access it.</p>

<p>Is this the right way to handle this problem?  Thanks!</p>

<p><b>UPDATE:</b> Thank you to everyone for the feedback.  After some additional research, I've decided to continue using Dependency Injection.</p>
