Consider a class stack which has two operations:
push and pop. With C++, the interface to the class stack
can be defined, supporting the idea of data abstraction
while keeping the implementation hidden from the
client. The interface to a class consists of the declarations
of all of the operations which correspond to that particular
class; it also includes other classes, variables, data
structures, and/or constants that are needed.