#pragma once // only for presentation #include class ICompareable { public: // only for presentation ICompareable() { std::cout << "Create IComparable" << std::endl; } virtual ~ICompareable() { std::cout << "Destroy IComparable" << std::endl; } virtual int Compare(ICompareable* other) = 0; };