That is my class definition, but I am not sure how I am going to access the item of the struct (PriorityQueue::Item data) also how I am going to fill it out.
The function insert will inser an item and I will provide the priority, the highest priority will set the item to the head_ptr.
questions:
How to access the PriorityQueue::Item data?
How to fill the PriorityQueue::Item data?
You need to create an object in main of type PriorityQueue. Use this objects functions to get at member variables. Generally all of the work to do with the object should be carried out by member functions of that class. So within a class function, you can refer to members of the Node struct using the normal dot notation, or the -> operator if you have a pointer.
Your Node is a bit weird - you have a class member inside it !!! The Node struct should just have the variables that make it a node, only. The class should then do operations with the node.