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.)
Once a class template is in place, know how to declare a
variable that uses it. For example, know the exact syntax to declare
an array of integers using the class template
Array defined at the start of Chapter 11.
What's wrong with the following declaration: