9.3. Functions for objects¶
In the next few sections, I will demonstrate several possible interfaces for functions that operate on objects. For some operations, you will have a choice of several possible interfaces, so you should consider the pros and cons of each of these:
- pure function:
Takes objects and/or basic types as arguments but does not modify the objects. The return value is either a basic type or a new object created inside the function.
Takes objects as parameters and modifies some or all of them. Often returns void.
- fill-in function:
One of the parameters is an “empty” object that gets filled in by the function. Technically, this is a type of modifier.