As other mentioned SFML is a great 2D graphics library to first get started out in and has just recently started to support the mobile market, though I will admit it is very limited on its features and support for mobile so far. The SFML book
http://www.amazon.com/SFML-Game-Development-Jan-Haller/dp/1849696845 is also a very good book to learn the basics of 2D development in. Though it does require you to be versed in C++ to follow along.
Though since you are looking to do some mobile development with C++ I would highly recommend checking out Cocos2d-x. Pretty much the #1 mobile development library out there for C++. Supports all major platforms (Windows, Windows Phone, Android, Linux, Mac, IOS) and supports both 2D and 3D. It is quite easy to work with after you get past the learning stage, it also has the added advantage of supporting a lot more features right out of the box then SFML and other libraries do.
There is a few books that cover Cocos2d-x but most are example books (Go through creating mini games to teach you the library) and haven't found a reference book for it yet. Though if you are comfortable with reading documentation to find stuff out you should be fine.
As for what other languages will be helpful to learn for game development... C++ definitely would be the main one to get under your belt. After that I would highly suggest learning the basics in common scripting languages like Lua and Python which are used regularly in game development (More so Lua).
Though to be honest most of the stuff you need to learn for game development is language independent and it really doesn't matter if it is C++ or Java or whatever other language. It is basically just learning how certain features of the game are done.
For example learning how to create scene graphs for managing your graphical representation of entities, learning how to handle asset management, entity management through standard class hierarchies or component entity systems, how main game loops and initialization are handled, handling collision detection, behavior trees and finite state machines for AI and the list goes on and on. Every single one of those subjects can be learned in any language and be applied in any other language after you learn how to do it (With of course a few minor changes).
So the language you use to learn about game development doesn't matter to much really so just learn in your most comfortable language.