Deferring SoftwareSerial object creation

The primary purpose of this exercise was to learn AVR C++ (knowing C) and I did that in droves. However, I needed to defer the creation of the serial because I did not know if I would need it. A contrived example would be where this would be applicable would be if you were building a program on a uP that, via a jumper say, you could select say serial or I2C interface to another device. You would not want to alway create a Serial (SoftwareSerial) object (calling the constructor and telling it what pin you wanted it to use) when your jumper said to use the I2C object instead.

But the bigger picture is you generally want to avoid global variables unless you have a compelling reasons to do so. Especially if your trying the C++ OO route IMO. Of course, this is coming from someone who programs on large CPUs with a OS. The "style" of programming on uP may be very different and more pragmatic considering the more limited resources - I'm a newbie in this arena :-X. Hmm, maybe that would be a good thread for later...

Galileo