По моему скромному мнению, лучшая книга по программированию вообще (на си подобных языках) это Р.Лафоре - ООП на C++. Доходчиво объясняются как простые вещи, присутствующие в большинстве ЯП (переменные, их типы, ветвления, циклы, структуры, функции), так и более сложные (классы, наследование, инкапсуляция, полиморфизм, обработка исключений и т.д.). Считаю эту книгу лучшей для старта :)