Я выучил так:
1. Мейн, М., Савитч, У. Язык С++, 2-е изд.: пер. с англ. – М.: издательский дом «Вильямс», 2001. – 652 с.: ил. – парал. тит. англ.
2. Мейн, М., Савитч, У. Структуры данных и другие объекты в С++, 2-е изд.: пер. с англ. – М.: издательский дом «Вильямс», 2002. – 832 с.: ил. – парал. тит. англ.
Именно в таком порядке.
Первая книга расскажет о синтаксисе, переменных, классах, ООП, о стандарных объектах в STL...
Вторая книга научит создавать собственные (в частности контейнерные) классы.
Особенность обоих книг в том, что учат именно языку, без всяких GUI-библиотек, IDE и формочек. Просто код, консоль и компилятор - то что нужно для изучения языка. Без уклона в какую-либо ОС. Написано понятным языком.