For the sake of convenience, C++ allows (and suggests) developers to separate interface and implementation parts when developing a class. Listing 1 illustrates the separation. In this listing, the interface for class List is declared first. Note that, the parameters of its methods are declared by only the data type. For example, the method void addFirst(int) is about to receive an input of type int and returns nothing. The implementation of all methods in the class List can be declared after that. Note that, the method should be prefixed by the class name and a double colon (::) and the.