Class instances can be assigned to each other using the assignment operator. Know how to declare the assignment operator as a member function of a class. What argument(s) does it take? Be sure you know the precise syntax.
Constructors can take arguments. One such constructor is
the copy constructor. Know how to declare a copy constructor for
a class. What argument(s) does it take? What does it
return? Be sure you know the precise syntax.
In Chapter 10 of the C++ book, the static-array version of class Id does
not need to define a destructor, assignment operator, or copy
constructor. The dynamic-array version, however, needs to define
all three of these. Why is that? (Note: The fact that if
you need to define any one of these three for a class, you probably
need to define all of them is often called "the Rule of Three".
Learn this concept and this name for it.)