If I correctly understand what you are wanting to do, I would highly recommend that you just make a class that is derived from ostream that does all the bells and whistles that you are hoping to demonstrate. There is absolutely no reason to be altering cout in any way that you have described. The issue at hand is utility. Useful is not always the same as "looks cool." Its not even necessarily similar to "looks interesting."