@@torcher5023 Самоізоляція не для того, щоб ти не помер у свої 22 роки, наприклад, а для того, щоб твоя бабуся не померла у свої 75, підчепивши вірус від тебе-носія після того, як ти попив пивка з друзями. І щоб на апарати ІВЛ не було черги.
Товарищи, давайте скинемся Тимофею на новый штатив! Благое дело делает Учитель. Под другими видео есть его "кошельки". Ни в одной книге вы не прочитаете о том, что он доносит до нас простым, понятным Русским языком.
Спасибо Вам за уроки! Самые лучше уроки по программированию, которые только видел свет! Освоил си++, разобрался в ассемблере... сейчас хакаю игры, пишу читы и ботов......
Тимофей! Прекрасная подача материала, прекрасные примеры! Тема действительно сложная, но вам удалось за столь малый промежуток времени разложить всё по полочкам. Спасибо большое! Продолжайте учить!
Благодарю от души, Тимофей! Нравится все - и подача материала, и увлеченность и даже около лекционные рассуждения. Здоровья и успехов в жизни. Храни вас Господь!
Ожидания не завышены! Помимо самой информации и её подачи у Вас есть любовь к людям! Именно это делает Ваши видео такими понятными и долгожданными. Спасибо за Ваш труд!
В Питоне можно эксгумацию сделать 😂 Абстракция, инкапсуляция, наследование, полиморфизм, ЭКСГУМАЦИЯ! ООП от Хирьярова 😎 The roof is on fire! (тру фанаты Тимофея поймут) Тимофей, большое спасибо за ваш труд и стиль! 😊
видео называется "первое погружение..." и между дел вначале Тимофей объяснил про парадигмы ооп так, что мне все стало понятно)))) я нашел себе преподавателя)))))))
Student():Person(){} - как до и после вызова конструктора Person() выполнить определенный код, необходимый в конструкторе Student()? правильно ли будет вместо Student():Person(){} использовать Student(){...;Person();...;} ?
Здравия Тимофей. Си 1972 г. Времена Ассемблера и текстовых режимов. Графика низкого уровня. С приходом Windows, графика стала минимумом. И даже такие "монстры" как Borland, с появлением ООП, разбежались. Так-же и программисты 80х-90х не приняли многие нововведения ООП. Ибо до него был какойто стандарт. И если бы Борланд писал графическую библиотеку, она была бы стандартом. А сейчас этого нет. Приходится вникать, учить, библиотеки Вась Пупкиных. Т.е. потерялась ТВОРЧЕСКАЯ составляющая :( Кто сейчас пишет для себя?...
@@billjohnes9380 ошибся человек, ну и ладно. Он признает что в С++ не супер пловец. Зачем с гонором так о нем отзываться плохо. Можно ведь без понта указать на ошибку и все
@@АнатолийЗахаров-к4л, всё дело -- в последствиях. Вы же не говорите "баловался человек с пистолетом, он признаёт, что не очень понимает в этом и поэтому случайно застрелил человека, можно ведь без понта указать на ошибку и всё". Если в C++ -- не супер-пловец, учить нельзя, потому что иначе -- это прямой вред. Автор, наверное, ещё и деньги получает за просмотры от Google'а.
Оставляйте реквизите пожалуйста, те кто хотят скинутся. Думаю если даже по 50 рублей будут скидывать будет уже приятно, даже на всякие мелочи как штатив.
Konstantin Samod спасибо конечно, но я имела ввиду ссылку где Тимофей Х. об этом говорит. Из его вступления я поняла что он об этом говорил где то в своих лекциях..
@@olgabuimistr "Из его вступления я поняла что он об этом говорил где то в своих лекциях.." ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-yO1rvJH6jlI.html
здравствуйте. мой аккаунт разработчика удалили из-за множественных нарушений. Можно ли восстановить аккаунт , если все приложения, нарушающие правила будут удалены ?
АССЕМБЛЕР был для меня всем... А по ом я увидел что надо писать на ассемблере чтобы просто появилось окошко с кнопкой ОК и я понял, что быстро писать приложения на ассемблере уже не получится, а самое главное скорость исполнения кода стала всем похер
@@Ogr285 да и без курсов разберетесь, возьмите попроще процессор 8 разрядный, да ту же атмегу328 и на его примере разберитесь с ассемблером, видео на ютубе полно, нет там ничего особо сложного, в сто раз проще с++ ;)
+1 С какой теплотой я вспоминаю возможность кинуть в видеопамять готовый дамп, и все это с прямой адресацией :) А потом на при переходе на IBM, всякую ерунду на прерывания подвешивать....
Очень сложно прорываться к сути через стиль изложения преподавателя. Много лишних и долгих метафор, лирических отступлений, "исправления ошибок". Удачный пример стиля лектора - Роберт Сапольски. там тоже есть метафоры и отступления, но они укладываются в общую драматургию изложения материала
И тем не менее, вы не зря, imhfo, провели сравнение с двумя данными персонажами - оба мощные преподаватели, да только в своих, разнящихся тематиках...и Роберт тут выступает скорее наиболее выдающимся водолеем, так, в качестве сравнения 🤓 (при всём уважении)
Тимофей, пропустил в инкапсуляции одинаковый конструктор у обоих экземпляров. Зачем каждому наследнику конструктор, который одинаковый? Его как раз в родителя и надо нести. Чтобы показать сам смысл вообще ООП: родитель что-то умеет делать, а что-то не знает как делать, или делает хуже, чем это сможет сделать наследник. И практический пример потоки: родительский класс умеет копировать из одного потока в другой, умеет искать и т.д., но сам не умеет читать, делегирует реализацию чтения потомкам и уже дочерние классы реализуют лишь функцию чтения, получая от родителя массу функционала уже готового. Т.е. в родительском классе можно реализовать логику работы: сортировать, добавлять, удалять, искать, складывать и много другого, не думая как получить физически данные, обращаясь к абстрактным методам. А уже дочерние классы позаботятся об том малом кусочке - получение данных. Это наиболее наглядный пример, разумный, а не изменение print, который запросто можно организовать переменной whois. :) Если уж print, то его вариант draw различных визуальных компонентов лучше покажет мощность ООП. :) Не знаю - читаешь комменты или нет, но некоторые "залётные" уже далеко не ученики, и варианты изложения подсматривают. :)
Сложилось впечатление, что в с++ struct и class - одна и та же конструкция только разные настройки по умолчанию. Так ли это или есть какие-то принципиальные отличия? И ещё вопрос - у вас конструкторы потомков в последнем примере принимают в качестве аргумента const char *name, хотя у конструктора родителя аргумент string name_ - при этом компилятор не выбрасывает ошибку и всё работает - получается, что конструкторы потомков в данном примере не вызываются и не проверяются на соответствие типов т.к. у них нет тела? или происходит какое-то автокастование аргумента? Спасибо.
"Так ли это или есть какие-то принципиальные отличия?" Принципиальное отличае в том, что class - это "Сущность" из ООП - БЕЗ ООП class -ов не бывает. Объект класса ВКЛЮЧАЕТ в себя И "Данные" и "Методы". Пользоваться "ИЗ ВНЕ" (не находясь "ВНУТРИ" объекта) можно только тем, что объявлено Public - это ОСНОВНАЯ ИДЕЯ ООП ("чтобы ни кто не мог прийти на вашу кухню и там хозяйничать" - выражаясь "языком" Тимофея Федорыча...)))
@@konstantinsamod1858 внутри структуры с++ можно описывать методы, можно объявлять поля структуры с атрибутом private. И по сути это будет тот же класс.
@@poppyplappytime8119 "И по сути это будет тот же класс." По какой "сути"? Парадигма ООП - это абстракция: программисту (как человеку) удобнее так представлять\думать (что Данные и Методы "объединены" в "нечто одно целое") + можно написать компилятор, который будет за этим "следить" (поддерживать работу программиста в парадигме ООП)... Но в процессе выполнения... все-равно выполняется машинный код (который можно просмотреть на языке Ассемблера)... И если Дизассемблер допускает вставки (которых нет в "оригинальном" коде), то можно обращаться к любым данным любых "Объектов" ("на сегодня" нет процессоров, которые поддерживают парадигму ООП на уровне машинных кодов...))) Согласны? Можно взглянуть с другой стороны: - Парадигма ООП была придумана для того, чтобы работая в команде "сосед" не мог "разворотить" ваши данные - не мог записать в ваш int "свой" string... А потом "ищи что за фигня? Вчера же все работало..." а в проекте уже более миллиона строк...
@@poppyplappytime8119 "я всё же надеюсь прочесть комментарий от автора, а не от всезнайки" -"Всезнайки" обычно в команде являются ТимЛидами (или "сейнерами")) Так вот - подходит к тебе ТимЛид с желанием помочь... А ты ему: "Я хочу узнать ответ, а не услышать "всезнайку"... Удачи тебе, тролль...))
Это какая-то жесть. Строковые литералы имеют тип массив char const, а не указатель на char, что в C, что в C++. И оператор "typedef struct Student Student;", конечно же, вполне валиден в обоих языках, и его, конечно же, "получится сделать". Даже не хочется дальше время тратить, вот доказательство (программа на голом C): godbolt.org/z/hrc8Ta Видно, что sizeof от литерала совсем не равен sizeof от указателя (и скобки после sizeof там не нужны, если вдруг возникнет мысль по этому поводу). Уже по разному значению sizeof можно догадаться, что типы -- разные. Также видно, что несмотря на то, что массив -- недотип, и операция присваивания для него не определена, инициализация массива в частном случае использования для этого строкового литерала, всё же, возможна. Хуже нет, когда с самого начала не просто неправильно учат, а дают в корне неверные сведения.
В коммерции ты очень редко будешь встречать неймспейсы)Если тебе из этого пространства нужно меньше 50-60% классов , то нет смысл подгружать весь неймспейс это очень сильно бьет по производительности.
@@Starkove98 Он уже опоздал - материал для 7 класса...)) Вот сайт коллеги Тимофей Федорыча по ФизТех-у ded32.net.ru/ Там описаны некоторые работы 8 классников... если интересно...
Неужели этот препод думает что люди сосредоточенно, реально слсредоточено втыкать в лекцию на три часа. Тимофей ну головой подумать то можно. Это отстойный формат подачи.
Сейчас вся страна так учится. Да и до этого так училась только в оффлайне. Другое дело, что Тимофей мастер этого дела и доносит информацию максимально в мозг.