Обычная эволюция начинающего программиста, пишущего на С++, проходит в несколько этапов. Сначала осваиваются процедурные возможности С++. На втором этапе программист начинает применять классы для реализации новых типов. До этого уровня добраться легко, особых умственных усилий не требуется. Конструкция класса применяется примерно так же, как и конструкция функции в процедурном программировании: язык расширяется, но не просто новой функциональностью, а новым типом данных, например комплексными числами или датами. Такие новые типы данных Коплиен в [26] и Страуструп в [2] называют «конкретными». Параллельно программист осваивает принцип инкапсуляции и, как он думает, принцип полиморфизма, реализуя перегрузку операций.
Следующим шагом в освоении С++ обычно становится реализация динамических структур данных — контейнеров. Освоение этого уровня требует хорошего понимания работы базовых методов класса: конструкторов, деструкторов и присваивания. На этом этапе программист изучает реализацию присваивания и операции индексирования, усваивая смысл понятий левостороннего (1-value) и правостороннего (r-value) значений.
Наконец, программист «добирается» до наследования и осваивает очень важный принцип подстановки. Вроде бы, больше изучать нечего: освоены все три «кита» объектно-ориентированного программирования. Но оказывается, только после этого начинается «настоящее» объектно-ориентированное программирование с использованием виртуальных функций. Несомненно, концепция виртуальных функций — одна из наиболее сложных концепций С++, которую новичкам усвоить непросто. Однако без понимания этого механизма программировать на С++ практически невозможно. Поэтому вооружитесь терпением и приступайте.
Опубликовал Kest
November 21 2013 01:33:25 ·
0 Комментариев ·
3610 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.