Your code does not compile. It took me quite a while to make it compile in OnlineGDB. It would be easier to help if they could focus on the problem in question (and not fixing other things first).
I found that you often instantiate the getProduct class (, which has a name, as if it would be a function, so pretty misleading -- classes should have nouns for names), yet you already have an instance.
Because of this, you have many instances of the getProduct class and instances do not share states (such as the cost).
I'd recommend keeping only one instance of the getProduct class in the Act04_BeautySaloon class. Do not instantiate the getProduct class multiple times.
Good luck! :)