// Solution of Assignment 7
template <typename ItemType>
ItemType QueueType<ItemType>::findSum() const
{
	if (isEmpty())
		throw EmptyQueue();
	ItemType sum = 0;
	NodeType<ItemType> *tempPtr = front;
	while (tempPtr != NULL)
	{
		sum = sum + tempPtr -> info;
		tempPtr = tempPtr -> next;
	}
	return sum;	
}

template <typename ItemType>
void QueueType<ItemType>::replaceItem(ItemType oldItem, ItemType newItem)
{
	NodeType<ItemType> *tempPtr = front;
	while (tempPtr != NULL)
	{
		if (tempPtr -> info == oldItem)
			tempPtr -> info = newItem;
		tempPtr = tempPtr -> next;
	}	
}

template <typename ItemType>
void QueueType<ItemType>::print() const
{
	if (front == NULL)
		cout << "The Queue is empty.\n";
	else
	{
		cout << "The elements of the Queue are: \n";
		NodeType<ItemType> *tempPtr = front;
		while (tempPtr != NULL)
		{
			cout << tempPtr -> info << '\t';
			tempPtr = tempPtr -> next;
		}
		cout << endl;
	}
}



