Explicitly initialize member variables brightness and endTime to default ...

...values (0)

In certain circumstances, namely as member in a compound class, or as a base class, of a object instantiated on the heap (i.e. via new), the default value can not be guaranteed to be zero. In both cases, a brightness or endTime of indeterminate value could cause unexpected and/or undefined behavior. In general, it is always best to explicitly initialized all member variables in a class object.