Some functions have parameters that are given a particular value in most, but not all, calls. In such cases, we can declare that common value as a default argument for the function. Functions with default arguments can be called with or without that argument.
For example, we might use a
string to represent the contents of a window. By default, we might want the window to have a particular height, width, and background character. However, we might also want to allow users to pass values other than the defaults. To accommodate both default and specified values we would declare our function to define the window as follows:
typedef string::size_type sz; // typedef see § 2.5.1 (p. 67)string screen(sz ht = 24, sz wid= 80, ...