What should any C++ base class that maintains pointers to dynamically allocated memory define? The issue of this question is so important that a class that implements the correct answer is called the canonical class in some literature. Canonical denotes religious truth. A copy constructor, assignment operator, and a virtual destructor This is the correct answer. It is essential to remember these requirements. (Stroustrup 10.4.1, 10.4.4.1, 12.4.2.)