Базовый курс С++ Часть #14. Классы в С++

preview_player
Показать описание
Часть #14. Классы в С++ (Базовый курс программирования на С++)
Самые лучшие бесплатные курсы по C++, Ассемблеру и Unreal Engine 5!

00:00 - Классы в С++
01:27 - Обновляем Visual Studio
03:18 - Начинаем изучать классы в С++
04:38 - Глобальные функции и данные
05:29 - Создаём класс как коллекцию функций и данных
07:33 - Класс как сущность
11:17 - Класс как тип
12:12 - Экземпляры класса (объекты)
12:50 - Методы класса
15:03 - Что такое класс
16:02 - Особенность классов: представление данных и функций
17:52 - Особенность классов: объявление методов (функций класса)
19:05 - Особенность классов: секции доступа
19:34 - Публичная секция (public)
20:49 - Приватная секция (private)
24:04 - Зачем нужен прототип проекта
25:24 - Создаём класс нашего игрового движка - Engine
28:30 - Преобразовываем глобальные функции в методы класса
41:27 - Переносим прочие типы в заголовочный файл
43:06 - Переносим переменные и константы в класс
44:31 - Делаем константы статическими
46:52 - Статические члены данных
50:39 - Конструктор класса
52:05 - Переносим инициализацию переменных в конструктор
52:52 - Список инициализации

Рекомендации по теме
Комментарии
Автор

Пока что самый легкий урок, из тех, что были)

illiahimself
Автор

Великолепное объяснение понятия класса....Браво

dalexgames
Автор

Класс! Именно благодаря классам мне стало казаться, что программирование становится проще. Благодарю).
Рефакторинг сделал, все получилось, новый код с использованием классов выглядит более структурированнее. Файлы смерджил, завтра едем дальше.

KonstantinPt
Автор

Всё это время нас водили за нос и скрывали истину :')

С обычным Си я познакомился лет 10-11 назад в институте. Подчеркиваю, что именно познакомился. Но настолько комплексный код как в прототипе - ни разу не писал, хотя на втором семестре были "Плюсы"(sic!).
Даже когда во втором институте нас обучали СиШарпу - всё ограничилось "формочками", хотя вроде как на одной из последних "лаб" писали аналог пеинта. Потом было веб-программирование, но на хосте где был сайт у меня почему-то ни-в-какую не удавалось на PHP сделать комментарии на сайте, а преподша развела руками и никак не помогла. И у меня, ой как, горело с этого и напрочь отбило желание к изучению предмета.
Про туторы с ютуба вообще молчу: "подавляющее большинство" видео это "знакомство с возможностями языка и основой ООП" и лабораторные задачки, без какого-то практического применения. После такого сидишь и не понимаешь что делать дальше? Что писать-то?
Пробовал зайти с книжек, но там материал был очень неактуальный.
Надо ли говорить, что в такой ситуации впадаешь во фрустрацию и отпадает вообще какое-либо желание дальше изучать. Так что не надо мне говорить, что я не был усердным и прочее и чего тут разнылся.
За 10 часов текущего плейлиста я кажется узнал и смог реализоваться намного больше, чем все те прошлые попытки. Одно удручает, что не нашёл эти видео раньше и не приступил за них ещё тогда, когда нашёл канал. Но пока что у меня позитивные ощущение и продолжу дальше, чтобы понимать процесс создания приложений на C++.

QuassGamer
Автор

Наконец дошёл до классов, надеюсь скоро я смогу их понять достаточно, чтобы перейти к следующему шагу.

Пока не знаю, хочу ли я дойти до конца проекта или в определённый момент, лучше сойду с этого пути и начну реализацию с нуля, на UnrealEngine используя оставшиеся ролики как справку. Ну посмотрим

butitsfun
Автор

Итог:
На первом видео было 500+ просмотров...
На этом 79...
.
Из чего можно взять что один человек смотрел видео по два раза(всем кто что-то сам писал, понято почему). Это 79/2 +-= 49 живых, из которых еще +- 10-15 просмотров случайны...
.
Нас в общей сумме выжило где-то 35 человек, с чем я вас и поздравляю!!! Успехов всем и терпения!!))
.
P.S. Я действительно до этого видео думал что я в чем-то разбираюсь:)

DaShiWoo
Автор

Круто объясняете, золотой совет по резервному копированию сработал на ура, отличные уроки!

SanTcheZ
Автор

Есть достаточно известный мем с Киану Ривзом в роли Нео из "Матрицы", где он выходит из программы обучения и как бы говорит: "I know JavaScript". Чувствую, что очень скоро я проснусь искажу то же о С++.)

JeKaTrigger
Автор

Мне так нравятся эти боковые всплывающие окна с объяснениями. Наверно, много времени заняло?

epsilon.sw_
Автор

Ураааа, я первоклашка, спасибо за труды)

metrolio
Автор

Ох ох ох. Я наконец смог использовать мелд) у кого мб тоже были проблемы вида "не могу добавить папки для сравнения", попробуйте добавлять их не в момент, когда перед вами разделённый экран, а в самом начале, в меню выбора того, что именно вы сравниваете (файлы, папки или версии). У меня нормально всё открывается, только когда я перетаскиваю свои две папки в строки None под кнопками меню выбора объектов сравнения.

ysrouvq
Автор

Это более менее знакомо, я не предполагал правда, что так в принципе незамысловато и просто переводится код с Си на Си++

fopkypq
Автор

Вставлю 5 копеек ленивого человека - когда мы в конструктор запихиваем переменные можно выделить всё объявление и сделать две замены " = " на "(", а ";" на ", "
Думаю, Александр специально этого не сделал, чтобы новички шевелили ручками, но мне кажется, что такие паттерны лучше начать замечать сразу и экономить время в дальнейшем

hugthetilt
Автор

Олександр, можливо це виглядатиме як наглість, проте, чи не могли б ви ще зробити курс по архітектурі комп'ютера та віндовс і як вони між собою пов'язані? Я думаю, що для новачків з вашим роз'ясненням це буде просто як знахідка))

DaShiWoo
Автор

Do we need to initialize type HWND, HPEN, HBRUSH, RECT? 43:20 VS give some warnings C26495. When Intellisence is off - No Warns :)

volodymyrgutsu
Автор

При создании конструктора у меня вылезли Warning'и под номером С26495.Не могу понять как решить эту проблему.
State
Warning C26495 Variable 'AsEngine::BG_Brush' is uninitialized. Always initialize a member variable
Warning C26495 Variable 'AsEngine::BG_Pen' is uninitialized. Always initialize a member variable (type.6). Popcorn
В документации пишут, что чтобы решить эту проблему, вы можете добавить инициализацию в классе ко всем переменным-членам.Я это сделал но варнинги не исчезли(((Версия студии 22.Может в настройках студии что то изменить?


UPDATE:: В комментариях увидел что будет позже

dalexgames
Автор

По какой то причине у меня выдает предложение на конструкт "не инициализирован"😐

pauldavidson
Автор

Пока для меня классы выглядят, как переусложнённые без смысла функции

ysrouvq