Всем доброго времени суток. Посоветуйте книги по ООП. Главное чтобы там объяснялись основы, говорилось зачем это нужно, как используется. Желательны примеры на С++.
Когда-то давно я читал Лафоре «Объектно-ориентированное программирование в C++». Мне очень понравилось — все очень хорошо разложено по полочкам, а, главное, с примерами.
Очень полезное:
Гради Буч «Объектно-ориентированный анализ и проектирование»
Э. Гамма «Приемы объектно-ориентированного проектирования. Паттерны проектирования»
В свое время начинал с Брюса Эккелья — Философия С++. Введение в стандартный С++ (Thinking in C++. Introduction to Standard C++). С самого начала книги поясняет базовые и тонкие моменты очень доступным языком, все на примерах и с приведением реального кода. В качестве продолжения и практического пособия можно почитать его же, Философия C++. Практическое программирование (Thinking in C++. Volume Two: Practical Programming). Очень достойные книги.
Стоит отметить, что электронные версии этих книг распространяются автором совершенно бесплатно (см. ссылки тут). Правда, они оформлены как HTML странички.
Всем спасибо скачал несколько книг, больше всего понравилось «Философия С++» и «Объектно-ориентированное программирование в C++». Думаю этого будет достаточно.
Мне в свое время очень понравилась огромная книжка Бертрана Мейера «Объектно-ориентированное конструирование программных систем». Кое в чем прочищает мозги, если читать внимательно. Но вряд ли это для первого знакомства, и там не C++, а Eiffel. Но советую запомнить название и автора на будущее, когда вы будете думать, что уже знаете ООП ;)
А как вы относитесь к "Прата С. - Язык программирования С++"? На хабре написали что он очень толковый для начинающих, а в этом вопросе и на stackowerflow в списке книг его нет.