#include "ClassA.h" int main() { ClassA a; a.Print(); ClassA* pA = nullptr; pA = new ClassA(); pA->Print(); // (*pA).Print(); // same as above, but more complex to write delete pA; pA = nullptr; a.CompareTo(pA); IComparable* pComparable = nullptr; pComparable = new ClassA(); pComparable->CompareTo(&a); // pA = dynamic_cast(pComparable); // if (pA != nullptr) { // pA->Print(); // } delete pComparable; pComparable = nullptr; ClassA a2 = a; return 0; }