#include "ClassA.h" ClassA::ClassA() : _pNumber(new int(0)) { std::cout << "ClassA() called" << std::endl; } ClassA::ClassA(const ClassA& other) { // shallow copy //_pNumber = other._pNumber; // deep copy _pNumber = new int(*other._pNumber); } ClassA::~ClassA() { std::cout << "~ClassA() called" << std::endl; if (_pNumber != nullptr) { delete _pNumber; _pNumber = nullptr; } } bool ClassA::Compare(IComparable* pOther) { return false; }