I have openstreetmap tiles for offline (png images), how can I display these images (tiles) on my application with zooming and rotation functionality as on openstreetmap.org using c++?
You could use CartoType (http://www.cartotype.com/index.html). The library supports map rendering, routing, turn by turn navigation, and geocoding.
For a comprehensive list of frameworks visit http://wiki.openstreetmap.org/wiki/Frameworks. There are numerous other frameworks in the OSM environment depending on your needs.
As far as I have understood your question is mainly about zooming and rotating a png-image in C++. If this is correct the problem boils down to finding the proper image-processing library. I can suggest libpng for displaying, but for manipulation (including rotation) you may want to have a look at openCV or at Magick++.