"It is not correct to say that a body contains a certain amount of heat, yet a body can transfer heat to another body. How can a body give away something it does not have in the first place
Because heat is a path function or the energy in transit.
Explanation:
It is not correct to say that a body contains a certain amount of heat because the heat is a path function and not a property of the system. It is the energy in transit which can be encountered only when it crosses the system boundary.
Heat is the energy in transit of a matter which flows by the virtue of temperature difference. The heat energy in a body is stored in the form of kinetic energy of the molecules which gets converted into heat that we know as the responsible factor for the rise in temperature usually.