In this question, you will be working with a somewhat artificial variation of the Pair class. The main modification
is that the first and seconddata members are not the actual values, but pointers to the values. Thus -- at constructor time --
the arguments (integers) sent to the constructor are not placed into the data members; rather two integers are dynamically allocated
and their pointer assigned to the first and second data members. Since we have data members that are pointers,
and we are allocating dynamic memory, the canonical form ('rule of three') must be used.
The name of the class is Pair. Since this requires the canonical form, the usual functions become:
(first,second)
== operator (non-member friend) — two pair are equal if their first and second components are equal
swap members function that swaps the first and second components of the pair (in place, i.e, no new Pair is created).
swap returns void
getFirst and getSecond functions (constant member functions)
<< and == shold be declared non-member friends
getFirst and getSecond functions should be declared constant member functions
getFirst and getSecond return
the integers, not the pointers to integer data members.