1

Step 1

Вспомнить и повторить пройденый материал

2

Step 2

Глава 6. Объекты и классы

3

Step 3

Глава 5. Функции

4

Step 4

Глава 7. Массивы и строки

5

Step 5

Глава 8. Перегрузка операций

6

Step 6

Глава 9. Наследование

7

Step 7

Глава 10. Указатели

8

Step 8

Глава 11. Виртуальные функции

9

Step 9

Глава 12. Потоки и файлы

10

Step 10

Глава 13. Многофайловые программы

11

Step 11

Глава 14. Шаблоны и исключения

12

Step 12

Глава 15. Стандартная библиотека шаблонов (STL)

13

Step 13

Глава 16. Разработка объектно-ориентированного ПО

1

Step 1

Вспомнить и повторить пройденый материал

2

Step 2

Глава 6. Объекты и классы

3

Step 3

Глава 5. Функции

4

Step 4

Глава 7. Массивы и строки

5

Step 5

Глава 8. Перегрузка операций

6

Step 6

Глава 9. Наследование

7

Step 7

Глава 10. Указатели

8

Step 8

Глава 11. Виртуальные функции

9

Step 9

Глава 12. Потоки и файлы

10

Step 10

Глава 13. Многофайловые программы

11

Step 11

Глава 14. Шаблоны и исключения

12

Step 12

Глава 15. Стандартная библиотека шаблонов (STL)

13

Step 13

Глава 16. Разработка объектно-ориентированного ПО

13 December 2016 01 May 2017
The goal is overdue by 2767 days

Goal abandoned

The author does not write in the goal 7 years 8 months 30 days

Career & Work

Изучить книгу Объектно-ориентированное программирование в С++ Р. Лафоре

Здравствую друже!

Уже как 3-4 года пытаюсь научиться программировать. В начале было html, css, javascrip, php. Думал освою и буду фрилансить, купаться в деньгах и иметь кучу свободного времени. Собрал на 1 год средств, по моим подсчетам должно было хватить и ушел с работы. Дабы постичь все премудрости веб, и взобраться на Олимп к богам веб технологий.

После прочтения несколько десятков книг, с мыслью что мои знания и умения пригодятся и будут востребованы я вошел на несколько площадок для фриланса и начал свой путь к богатству и независимости... В итоге день и ночь на фрилансе, покупка про аккаунтов, кидалы заказчики и тд и тп. Доход не большой, но был (соответствующий моему уровню на фоне остальных гуру кодеров, с огромными портфолио), время шло. Расходы превышали доходы... "Пацан к успеху шел, не получилось, не фартануло"

Пришлось кинуть это все дело и вернуться на землю с мыслью что веб не мое. После про бывал Java, C, Python. Но по этим языкам не осилил даже и половины книги... Возможно из-за лени или из-за страха повторить провал с веб не помню уже да и не суть...

В апреле этого года я решил вернуться к кодингу, но только в роли С++ девелопера. Почему С++? Наверно потому что где то слышал , что с++ один из сложных и заковыристых языков и я решил побороться с ним, а может потому что в нашем книжном была только книга Лафоре : ) ... Где то к июню я остыл, а в августе понял что покрылся толстым слоем инея, а книжка толстым слоем пыли. Вообщем опять не осилил...

Так вот. Настало время продолжить!

Зачем? Кто то говорит душа лежит к коду, кто то жить не может без технологий, а я же по простой и банальной причине. Деньги. Как известно программисты зарабатываю не плохо... Возможно ты захочешь поспорить, и сказать что junior имеет 300$ - 700$, а это не так уж и много... Я соглашусь с тобой, но прежде попрошу взглянуть на это моими глазами. Мне 24 и работа моя связана с физическим трудом, уровень дохода составляет около 300$ потолок 450$, нет никакого личного развития. Жизнь на паузе, от смены до смены... А время то идет, и совсем не хочется в 30 оставаться на том же уровне...

**********************************************************************************************

Буду рад помощи в нелегком деле, возможно кто то так же как и я осваивает эту книгу. Давай те дружить и углубляться в с++ вместе. Попробуем вместе написать программку, будем делиться актуальной информацией, мыслями и мотивировать друг друга на следующий шаг.

 Goal Accomplishment Criteria

Выполнены все упражнения

 Personal resources

Время, Книга Р. Лафоре

 Goal ecological compatibility

Работа Junior C++ Developer

  1. Вспомнить и повторить пройденый материал

    1. Вступление
    2. Глава 1. Общие сведения
    3. Глава 2. Основы программирования на C++
    4. Глава 3. Циклы и ветвления
    5. Глава 4. Структуры
    6. Глава 5. Функции
  2. Глава 6. Объекты и классы

    1. Простой класс
    2. Классы и объекты
    3. Определение класса
    4. Использование класса
    5. Вызов методов класса
    6. Объекты программы и объекты реального мира
    7. Детали изделия в качестве объектов
    8. Круги в качестве объектов
    9. Класс как тип данных
    10. Конструкторы
    11. Пример со счетчиком
    12. Графический пример
    13. Объекты в качестве аргументов функций
    14. Объекты в качестве аргументов
    15. Конструктор копирования по умолчанию
    16. Объекты, возвращаемые функцией
    17. Аргументы и объекты
    18. Пример карточной игры
    19. Структуры и классы
    20. Классы, объекты и память
    21. Статические данные класса
    22. Применение статических полей класса
    23. Пример использования статических полей класса
    24. Раздельное объявление и определение полей класса
    25. сonst и классы
    26. Константные методы
    27. Константные объекты
    28. Зачем нужны классы?
    29. Резюме
    30. Вопросы
    31. Упражнения
  3. Глава 5. Функции

    1. Простые функции
    2. Объявление функции
    3. Вызов функции
    4. Определение функции
    5. Обычные и библиотечные функции
    6. Отсутствие объявления
    7. Передача аргументов в функцию
    8. Передача констант в функцию
    9. Передача значений переменных в функцию
    10. Передача аргументов по значению
    11. Структурные переменные в качестве аргументов
    12. Имена переменных внутри прототипа функции
    13. Значение, возвращаемое функцией
    14. Оператор return
    15. Исключение ненужных переменных
    16. Структурная переменная в качестве возвращаемого значения
    17. Ссылки на аргументы
    18. Передача по ссылке аргументов стандартных типов
    19. Усложненный вариант передачи по ссылке
    20. Передача структурных переменных по ссылке
    21. Замечание о ссылках
    22. Перегруженные функции
    23. Переменное число аргументов функции
    24. Различные типы аргументов
    25. Рекурсия
    26. Встраиваемые функции
    27. Аргументы по умолчанию
    28. Область видимости и класс памяти
    29. Локальные переменные
    30. Глобальные переменные
    31. Статические локальные переменные
    32. Возвращение значения по ссылке
    33. Вызов функции в качестве левого операнда операции присваивания
    34. Зачем нужно возвращение по ссылке?
    35. Константные аргументы функции
    36. Резюме
    37. Вопросы

    Упражнения

  4. Глава 7. Массивы и строки

    1. Основы массивов
    2. Определение массивов
    3. Элементы массива
    4. Доступ к элементам массива
    5. Среднее арифметическое элементов массива
    6. Инициализация массива
      • Многомерные массивы
    7. Передача массивов в функции
    8. Массивы структур
    9. Массивы как члены классов
    10. Массивы объектов
    11. Массивы интервалов
    12. Границы массива
    13. Доступ к объектам в массиве
    14. Массивы карт
    15. Строки
    16. Строковые переменные
    17. Считывание нескольких строк
    18. Копирование строк
    19. Копирование строк более простым способом
    20. Массивы строк
    21. Строки как члены классов
    22. Определенные пользователем типы строк
    23. Стандартный класс string языка C++
    24. Определение объектов класса string и присваивание им значений
    25. Ввод/вывод для объектов класса string
    26. Поиск объектов класса string
    27. Модификация объектов класса string
    28. Сравнение объектов класса string
    29. Доступ к символам в объектах класса string
    30. Другие методы класса string
    31. Резюме
    32. Вопросы
    33. Упражнения
  5. Глава 8. Перегрузка операций

    1. Перегрузка унарных операций
    2. Ключевое слово operator
    3. Аргументы операции
    4. Значения, возвращаемые операцией
    5. Временные безымянные объекты
    6. Постфиксные операции
    7. Перегрузка бинарных операций
    8. Арифметические операции
    9. Объединение строк
    10. Множественная перегрузка
    11. Операции сравнения
    12. Операции арифметического присваивания
    13. Операция индексации массива ([])
    14. Преобразование типов
    15. Преобразования основных типов в основные типы
    16. Преобразования объектов в основные типы и наоборот
    17. Преобразования строк в объекты класса string и наоборот
    18. Преобразования объектов классов в объекты других классов
    19. Преобразования: когда что использовать
    20. Диаграммы классов UML
    21. Объединения
    22. Направленность
    23. `Подводные камни` перегрузки операций и преобразования типов
    24. Использование похожих значений
    25. Использование похожего синтаксиса
    26. Показывайте ограничение
    27. Избегайте неопределенности
    28. Не все операции могут быть перегружены
    29. Ключевые слова explicit и mutable
    30. Предотвращение преобразования типов с помощью explicit
    31. Изменение данных объекта, объявленных как const, используя ключевое слово mutable
    32. Резюме
    33. Вопросы
    34. Упражнения
  6. Глава 9. Наследование

    1. Базовый и производный классы
    2. Определение производного класса
    3. Обобщение в диаграммах классов в UML
    4. Доступ к базовому классу
    5. Результат программы COUNTEN
    6. Спецификатор доступа protected
    7. Недостатки использования спецификатора protected
    8. Неизменность базового класса
    9. Разнообразие терминов
    10. Конструкторы производного класса
    11. Перегрузка функций
    12. Какой из методов использовать?
    13. Операция разрешения и перегрузка функций
    14. Наследование в классе Distance
    15. Применение программы ENGLEN
    16. Конструкторы класса DistSign
    17. Методы класса DistSign
    18. В поддержку наследования
    19. Иерархия классов
    20. Абстрактный базовый класс
    21. Конструкторы и функции
    22. Наследование и графика
    23. Общее и частное наследование
    24. Комбинации доступа
    25. Выбор спецификатора доступа
    26. Уровни наследования
    27. Множественное наследование
    28. Методы классов и множественное наследование
    29. Частное наследование в программе EMPMULT
    30. Конструкторы при множественном наследовании
    31. Конструкторы без аргументов
    32. Конструктор со многими аргументами
    33. Неопределенность при множественном наследовании
    34. Включение: классы в классах
    35. Включение в программе EMPCONT
    36. Композиция: сложное включение
    37. Роль наследования при разработке программ
    38. Резюме
    39. Вопросы
    40. Упражнения
  7. Глава 10. Указатели

    1. Адреса и указатели
    2. Операция получения адреса &
    3. Переменные указатели
    4. Недостатки синтаксиса
    5. Указатели должны иметь значение
    6. Доступ к переменной по указателю
    7. Указатель на void
    8. Указатели и массивы
    9. Указатели-константы и указатели-переменные
    10. Указатели и функции
    11. Передача простой переменной
    12. Передача массивов
    13. Сортировка элементов массива
    14. Расстановка с использованием указателей
    15. Сортировка методом пузырька
    16. Указатели на строки
    17. Указатели на строковые константы
    18. Строки как аргументы функций
    19. Копирование строк с использованием указателей
    20. Библиотека строковых функций
    21. Модификатор const и указатели
    22. Массивы указателей на строки
    23. Управление памятью: операции new и delete
    24. Операция new
    25. Операция delete
    26. Класс String с использованием операции new
    27. Указатели на объекты
    28. Ссылки на члены класса
    29. Другое применение операции new
    30. Массив указателей на объекты
    31. Действия программы
    32. Доступ к методам класса
    33. Связный список
    34. Цепочка указателей
    35. Добавление новых элементов в список
    36. Получение содержимого списка
    37. Классы, содержащие сами себя
    38. Пополнение примера LINKLIST
    39. Указатели на указатели
    40. Сортируем указатели
    41. Тип данных person**
    42. Сравнение строк
    43. Пример разбора строки
    44. Разбор арифметических выражений
    45. Программа PARSE
    46. Симулятор: лошадиные скачки
    47. Разработка лошадиных скачек
    48. Моделирование хода времени
    49. Уничтожение массива указателей на объекты
    50. Функция putch()
    51. Диаграммы UML
    52. Диаграмма состояний в UML
    53. Состояния
    54. Переходы
    55. От состояния к состоянию
    56. Отладка указателей
    57. Резюме
    58. Вопросы
    59. Упражнения
  8. Глава 11. Виртуальные функции

    1. Виртуальные функции
    2. Доступ к обычным методам через указатели
    3. Пегрузка оператора присваивания
    4. Конструктор копирования
    5. Объектные диаграммы UML
    6. Эффективное использование памяти классом String
    7. Указатель this
    8. Доступ к компонентным данным через указатель this
    9. Использование this для возврата значений
    10. Исправленная программа STRIMEM
    11. Динамическая информация о типах
    12. Проверка типа класса с помощью dynamic_cast
    13. Изменение типов указателей с помощью dynamic_cast
    14. Оператор typeid
    15. Резюме
    16. Вопросы
    17. Упражнения
  9. Глава 12. Потоки и файлы

    1. Потоковые классы
    2. Преимущества потоков
    3. Иерархия потоковых классов
    4. Класс ios
    5. Класс istream
    6. Класс ostream
    7. Классы iostream и _withassign
    8. Предопределенные потоковые объекты
    9. Ошибки потоков
    10. Биты статуса ошибки
    11. Ввод чисел
    12. Переизбыток символов
    13. Ввод при отсутствии данных
    14. Ввод строк и символов
    15. Отладка примера с английскими расстояниями
    16. Потоковый ввод/вывод дисковых файлов
    17. Форматированный файловый ввод/вывод
    18. Строки с пробелами
    19. Ввод/вывод символов
    20. Двоичный ввод/вывод
    21. Оператор reinterpret_cast
    22. Закрытие файлов
    23. Объектный ввод/вывод
    24. Совместимость структур данных
    25. Ввод/вывод множества объектов
    26. Биты режимов
    27. Указатели файлов
    28. Вычисление позиции
    29. Вычисление сдвига
    30. Функция tellg()
    31. Обработка ошибок файлового ввода/вывода
    32. Реагирование на ошибки
    33. Анализ ошибок
    34. Файловый ввод/вывод с помощью методов
    35. Как объекты записывают и читают сами себя
    36. Как классы записывают и читают сами себя
    37. Код типа объекта
    38. Перегрузка операторов извлечения и вставки
    39. Перегрузка cout и cin
    40. Перегрузка << и >> для файлов
    41. Память как поток
    42. Аргументы командной строки
    43. Вывод на печатающее устройство
    44. Резюме
    45. Вопросы
    46. Упражнения
  10. Глава 13. Многофайловые программы

    1. Причины использования многофайловых программ
    2. Библиотеки классов
    3. Организация и концептуализация
    4. Создание многофайловой программы
    5. Заголовочные файлы
    6. Директории
    7. Проекты
    8. Межфайловое взаимодействие
    9. Взаимодействие исходных файлов
    10. Заголовочные файлы
    11. Пространства имен
    12. Класс сверхбольших чисел
    13. Числа как строки
    14. Описатель класса
    15. Методы
    16. Прикладная программа
    17. Моделирование высотного лифта
    18. Работа программы ELEV
    19. Проектирование системы
    20. Листинг программы ELEV
    21. Диаграмма состояний для программы ELEV
    22. Резюме
    23. Вопросы
    24. Проекты
  11. Глава 14. Шаблоны и исключения

    1. Шаблоны функций
    2. Шаблон простой функции
    3. Шаблоны функций с несколькими аргументами
    4. Шаблоны классов
    5. Контекстозависимое имя класса
    6. Создание класса связных списков с помощью шаблонов
    7. Хранение пользовательских типов
    8. UML и шаблоны
    9. Исключения
    10. Для чего нужны исключения
    11. Синтаксис исключений
    12. Простой пример исключения
    13. Многократные исключения
    14. Исключения и класс Distance
    15. Исключения с аргументами
    16. Класс bad_alloc
    17. Размышления об исключениях
    18. Резюме
    19. Вопросы
    20. Упражнения
  12. Глава 15. Стандартная библиотека шаблонов (STL)

    1. Введение в STL
    2. Контейнеры
    3. Алгоритмы
    4. Итераторы
    5. Возможные проблемы с STL
    6. Алгоритмы
    7. Алгоритм find ()
    8. Алгоритм count ()
    9. Алгоритм sort()
    10. Алгоритм search()
    11. Алгоритм merge()
    12. Функциональные объекты
    13. Пользовательские функции вместо функциональных объектов
    14. Добавление _if к аргументам
    15. Алгоритм for_each ()
    16. Алгоритм transform()
    17. Последовательные контейнеры
    18. Векторы
    19. Списки
    20. Итераторы
    21. Итераторы как интеллектуальные указатели
    22. Итераторы в качестве интерфейса
    23. Соответствие алгоритмов контейнерам
    24. Работа с итераторами
    25. Специализированные итераторы
    26. Адаптеры итераторов
    27. Потоковые итераторы
    28. Ассоциативные контейнеры
    29. Множества и мультимножества
    30. Отображения и мультиотображения
    31. Ассоциативный массив
    32. Хранение пользовательских объектов
    33. Множество объектов person
    34. Список объектов класса person
    35. Функциональные объекты
    36. Предопределенные функциональные объекты
    37. Создание собственных функциональных объектов
    38. Функциональные объекты и поведение контейнеров
    39. Резюме
    40. Вопросы
    41. Упражнения
  13. Глава 16. Разработка объектно-ориентированного ПО

    1. Эволюция процесса создания программного обеспечения
    2. Процесс просиживания штанов
    3. Каскадный процесс
    4. Объектно-ориентированное программирование
    5. Современные подходы
    6. Моделирование вариантов использования
    7. Действующие субъекты
    8. Варианты использования
    9. Сценарии
    10. Диаграммы вариантов использования
    11. Описания вариантов использования
    12. От вариантов использования к классам
    13. Предметная область программирования
    14. Рукописные формы
    15. Допущения
    16. Программа LANDLORD: стадия развития
    17. Действующие субъекты
    18. Варианты использования
    19. Описание вариантов использования
    20. Сценарии
    21. Диаграммы действий UML
    22. От вариантов использования к классам
    23. Список существительных
    24. Уточнение списка
    25. Определение атрибутов
    26. От глаголов к сообщениям
    27. Диаграмма классов
    28. Диаграммы последовательностей
    29. Написание кода
    30. Заголовочный файл
    31. Исходные .cpp файлы
    32. Вынужденные упрощения
    33. Взаимодействие с программой
    34. Заключение
    35. Резюме
    36. Вопросы
    37. Проекты
  • 2034
  • 13 December 2016, 12:25
Sign up

Signup

Уже зарегистрированы?
Quick sign-up through social networks.
Sign in

Sign in.
Allowed.

Not registered yet?
 
Log in through social networks
Forgot your password?