Implements a Priority Queue using a min-heap in C++