I have a class Priority Queue with method push() which takes two args: value and priority.
#include <vector>
#include <iostream>
class PriorityQueue
{
private:
std::vector<std::pair<int, int>> _queue;
public:
int top();
int pop();
void push(int, int);
int size();
PriorityQueue();
PriorityQueue(int, int);
friend std::ostream& operator<<(std::ostream&, PriorityQueue&);
};
How can I overload [] operator for it to work like this:
queue[priority]=value;
should mean
queue.push(priority, value);
?