Quote Originally Posted by candlemaster
Update() increases time by however much time has passed since the last time Update() was called, normally every frame. time is public, so you can easilly set it to 0 to reset it, or grab it's current value directly, or even set it to a specific value if you need.

What I want is to call Update() only once, instead of once for every single instance of the class. This not only would clean up my code significantly, but it would speed it up too (less calls to QueryPerformanceCounter(), etc.)
Is that all that Update does? It might help if you gave us more information on what this Timer class is for, how it will be used, etc.

At the moment, it sounds like you are asking for the impossible, at least if you can only process sequentially: all the Timer objects are separate, but somehow they must be updated simultaneously, in the same instant of time.

If you do want them to be updated like that, it seems to me they must all share a singleton time member. Perhaps they can keep a time member that is added to this singleton time member to produce the resulting time, but whether this is feasible depends on what you are trying to do.

On the other hand, if you will be satisfied with just calling a function once and having all the Timer objects updated (in sequence), then a possible solution is to have a registry of Timer objects. Upon construction, each Timer object will register itself with this registry. You can then just call a function to update each Timer object.