Stream Processing: Note how we use the istream and ostream types for generic stream arguments. This will allow both file streams and the console streams to be passed through the same function argument. (This power is thanks to inheritance, which we will cover later this semester.) Stream arguments are always pass-by-reference since no matter what you are doing to a stream, you change either the memory version (object/buffer) or the physical version (screen/file). Also note the default values on the stream arguments. This is possible because cin and cout are global variables. Normally reference arguments cannot have defaults because there is no-where to refer which always exists. Since cin and cout are always available, we can always refer to them.