Деструктор что это. Зачем нужен деструктор класса в ООП. Деструктор с параметрами. Перегрузка. #80

  Переглядів 182,948

#SimpleCode

#SimpleCode

6 років тому

Понравилось видео или оказалось полезным? Подпишись!
Деструктор что это. Зачем нужен деструктор класса в ООП. Пример. Деструктор с параметрами. Перегрузка. C++ Для начинающих. Урок#80
Область видимости. Глобальные переменные и локальные переменные. C++ для начинающих. Урок #37
goo.gl/wgczMR
Динамический массив с++ пример. Создание, заполнение, удаление, размер динамического массива. #55
goo.gl/9dqZM9
Уроки по программированию
Наша группа ВК smplcode
Подписывайтесь на канал / @simplecodeit

КОМЕНТАРІ: 173
@SimpleCodeIT
@SimpleCodeIT 6 років тому
Деструктор что это. Зачем нужен деструктор класса в ООП. Пример. Деструктор с параметрами. Перегрузка. C++ Для начинающих. Урок#80
@jangiryanarsen4952
@jangiryanarsen4952 6 років тому
Даже я, зная C++ c удовольствием пересматриваю. Спасибо за труд.
@user-hy3vs3yj2q
@user-hy3vs3yj2q 2 роки тому
Повторение - Мать учения! Мать с большой буквы!
@VooooooNine
@VooooooNine 3 роки тому
почти весь наш универ место того чтоб смотреть онлайн лекции профессоров, смотрит сипл кода. :)
@mar_kha
@mar_kha 2 роки тому
* симпл)
@HessW
@HessW 8 місяців тому
Сначала симпл код, а потом лекции профессоров :)
@user-cc4kd2ph8l
@user-cc4kd2ph8l 6 років тому
Серег, от души как обычно)
@user-fo3yp4tm3f
@user-fo3yp4tm3f 5 років тому
После твоих уроков, чувствую себя значительнее умнее на ЯП С++:) потратил почти год на изучения языка, но значительно созрел только за месяц просмотра твоих уроков по С++) Буду стремится превзойти Вас Мастер Сергей :з но пока до этого далекий тернистый путь :'З
@andreyvolkov3117
@andreyvolkov3117 3 роки тому
Ты хочешь сказть, что за целый год ты узнал меньше чем здесь за 1 месяц? Ты что дядя, ты что читал такое вообще, чтобы за 1 год узнать меньше чем здесь за 1 месяц)
@deltaeptat1546
@deltaeptat1546 3 роки тому
@@andreyvolkov3117 Мне кажется что это просто ПРОКРАСТИНАЦИЯ, либо он не знал откуда взять информацию, либо же Сергей объясняет подробнее, а ему раньше просто было трудно хотя бы понять тему. У меня такое же было, там в уроках типа "быстрый и легкий С++ для чайников" объясняли так, как будто у тебя как минимум семилетний стаж в программировании.
@user-mm5ln4qh5q
@user-mm5ln4qh5q Рік тому
Как дела сейчас?
@sqwedd8547
@sqwedd8547 Рік тому
@@user-mm5ln4qh5q хуево
@skdjdns
@skdjdns 7 місяців тому
@@user-mm5ln4qh5q все отлично, работаю на стройке
@user-nb2dh5bz3e
@user-nb2dh5bz3e 6 років тому
Спасибо, твои уроки очень сильно помогают мне в изучении С++, спасибо, что помогаешь новичкам всё это понять)
@valyrianbastard3635
@valyrianbastard3635 5 років тому
Огромная помощь мне, как студенту. Всегда думала, что не люблю кодить, а тут смотрю и ведь правда интересно, хочется знать больше. Огромное спасибо, просто потрясающе 🔥
@arsunchik
@arsunchik Рік тому
Как жизнь?
@user-lt1iz1kg4c
@user-lt1iz1kg4c 9 місяців тому
меня пугает, что по всей видимости, в университете я буду учит то, что уже заучил ранее.
@Alex_Suvorov
@Alex_Suvorov Місяць тому
@@user-lt1iz1kg4c , пусть тебя это не пугает, найдётся то чего не знаешь, и можно будет сфокусироваться именно на этом, вместо того чтобы пытаться почти с нуля освоить
@SimpleCodeIT
@SimpleCodeIT 6 років тому
#деструктор #ООП #SimpleCode #урокипрограммирования
@kls1941
@kls1941 5 років тому
Уроки замечательно построены, ясно, просто, четко, интересно. Я - педагог с большим стажем, информатик, знаю, о чем говорю. "Кто ясно мыслит, тот ясно излагает"... Спасибо!
@anutasienko2323
@anutasienko2323 2 роки тому
Спасибо! Благодаря вам получаю одно удовольствие от изучения с++!
@archiechellaut9483
@archiechellaut9483 2 роки тому
Большое спасибо вам за урок и прекрасное пояснение, Сергей!
@user-tb7yl9oe3h
@user-tb7yl9oe3h 3 роки тому
Ты очень классно обо всем рассказываешь, очень доступно о таких непростых вещах, однозначно лойсик
@user-nw5iw5ew9z
@user-nw5iw5ew9z 3 роки тому
Спасибо огромное за данный учебный контент, Сергей!
@user-rn6xk4de5w
@user-rn6xk4de5w 3 роки тому
Спасибо за прекрасные уроки!
@user-cx4hh1cg7f
@user-cx4hh1cg7f 5 років тому
Сергей, спасибо огромное за уроки.
@mszZZZ
@mszZZZ 4 роки тому
Очень полезные видео. Ты очень хорошо объясняешь и благодаря твоим видео я узнаю для себя новые вещи. Спасибо за твои видео!
@Luv1c
@Luv1c Рік тому
Большое спасибо за уроки, они очень полезны, Вы не представляете, как сильно они выручают
@tkachev11
@tkachev11 4 роки тому
Первый источник на котором действительно смотришь и понимаешь как оно там все устроено.
@revue6218
@revue6218 2 роки тому
чисто тигр! спасибо за ролики. очень сильно помогают двигаться вперед.
@prizgenaprizgena8193
@prizgenaprizgena8193 3 роки тому
Смотрю подряд уже которое видео... становиться не по себе: ведь я все понимаю. Так быть не должно. Должно быть трудно, непонятно, насыщено специальным сленгом. Должно быть с протяжным "Ээээ" и с проглатыванием важных слов. Так, по-крайней мере, у многих гуру... Неужели ООП доступно непросвещенным? :)
@olegbocharnikov950
@olegbocharnikov950 2 роки тому
супер подача материала главное играючи с юмором эта каряка высший пилотаж !!!
@VitaliyNET
@VitaliyNET 4 роки тому
После c, c#, swift, objc, java... не говорю уже о vb6/net - язык C++ шикарен)
@user-or1hy4xz8u
@user-or1hy4xz8u 2 роки тому
наверно, С++ кажется сложнее....
@beuef1379
@beuef1379 3 роки тому
Спасибо, понятно и доходчиво!
@polmesh2057
@polmesh2057 Рік тому
Спасибо за вашу работу
@user-hz4ho1ox1q
@user-hz4ho1ox1q 4 роки тому
Спасибо за знания !
@user-rj8cz5rf5z
@user-rj8cz5rf5z 3 роки тому
Спасибо большое! Все понятно!
@user-qw2xx6ef8r
@user-qw2xx6ef8r 3 роки тому
Спасибо! Коммент для продвижения!
@user-fu8vr2gy8o
@user-fu8vr2gy8o 4 роки тому
Отличный видеоролик , спасибо!
@yujin-mayson
@yujin-mayson 4 роки тому
ещё пару таких видео, и я буду также здороваться с друзьями 0:01
@your_alone_friend7997
@your_alone_friend7997 3 роки тому
Мне при просмотре его видео друг позвонил и я так с ним поздоровался. После чего он меня послал... а он просто хотел пригласить меня на пивко....(
@user-nz3ig3wv5j
@user-nz3ig3wv5j 4 роки тому
Спасибо за урок!
@AlexanderAbramovNN
@AlexanderAbramovNN 4 роки тому
О, я дошел до читаемого шрифта! Уроки отличные, спасибо!
@huntermaster617
@huntermaster617 Місяць тому
Привет с Бауманки, весь Иу6 вас смотрит!
@ilnev3738
@ilnev3738 2 роки тому
Спасибо за уроки
@Kotenok_Gav_ZZ2670
@Kotenok_Gav_ZZ2670 10 місяців тому
Спасибо тебе огромное!! Теперь я разобрался в этом)
@Ermine882
@Ermine882 6 років тому
Спасибо за урок.
@grintea4163
@grintea4163 4 роки тому
Большое спасибо за урок
@KurpatovInstagram
@KurpatovInstagram 6 років тому
Спасибо!
@timurortskhanov8527
@timurortskhanov8527 6 років тому
Спасибо огромное.
@apelka2031
@apelka2031 5 років тому
Спасибо тебе большое
@user-ol9es1ch9x
@user-ol9es1ch9x Рік тому
привет из 2023, спасибо большое за уроки!
@AnnTimLeo
@AnnTimLeo 5 років тому
СПАСИБО! Супер!
@vvp6552
@vvp6552 2 роки тому
По-моему ваши видео смело можно и нужно демонстрировать на наших уроках программирования в универе
@bama2619
@bama2619 2 роки тому
спасибо, вернулся повторить.
@user-dq5zu1vg2o
@user-dq5zu1vg2o Рік тому
Спасибо!!!🥰
@LenTos1337
@LenTos1337 6 років тому
Как я понимаю, если много объектов, деструктор работает по принципу стека?
@user-cs9kg4fb9x
@user-cs9kg4fb9x 4 роки тому
+
@denver313
@denver313 4 роки тому
При создании объектов они попадает в стек процесса. Извлекаются они из этого стека в обратном порядке.
@vladalu9794
@vladalu9794 6 років тому
Очень круто бро!
@user-ny4zk7gj7n
@user-ny4zk7gj7n 2 місяці тому
👍👍Благодаря Сергею я полюбил скучное и непонятное программирование. лекции понятны человеку, который даже и не знаком с программирование, в отличие от многих других спикеров
@seastraus1
@seastraus1 5 років тому
Очень хорошие уроки!
@user-xm5zl9up4r
@user-xm5zl9up4r 3 місяці тому
СПАСИБО
@nanapai4263
@nanapai4263 4 роки тому
Вот только -что мучался с кодом . Потому , что не знал про это. Спасибо!
@ponchqz6879
@ponchqz6879 4 роки тому
Просто лучший :)
@user-hb7er4ff9u
@user-hb7er4ff9u 2 роки тому
Спасибо
@user-th1ky3eh9h
@user-th1ky3eh9h 5 років тому
Лучший канал по программированию
@michalsanin8451
@michalsanin8451 5 років тому
ну само сабой
@bohdanbuchuliak8433
@bohdanbuchuliak8433 4 роки тому
Просто спасибо. Хочу отблагодарить, если когда-то всё же удастся сделать себе карьеру в области программирования.
@vladyatsuk
@vladyatsuk Рік тому
как успехи?
@bohdanbuchuliak8433
@bohdanbuchuliak8433 Рік тому
@@vladyatsuk работаю в Нокии, но не программирую, занимаюсь мобильными сетями.
@vladyatsuk
@vladyatsuk Рік тому
@@bohdanbuchuliak8433 круто!)
@user-kb6qd8rg4g
@user-kb6qd8rg4g 4 роки тому
спасибо
@user-dq2cj6ge2c
@user-dq2cj6ge2c 5 років тому
Спасибо очередной раз!
@losolus3906
@losolus3906 2 роки тому
здравствуйте, хотелось бы узнать, почему когда я изменил в деструкторе data на *data то у меня вывело очень большое число, которое я никаким образом не мог получить (то есть через цикл и прочее)?
@juliakond9393
@juliakond9393 6 років тому
Спасибо!!!
@adilbekzhumabekov8303
@adilbekzhumabekov8303 5 років тому
Лучший
@sultanaliyev4887
@sultanaliyev4887 2 роки тому
Есть ли смысл для массива в деструкторе после delete [] data написать ещё data = nullptr, ну как изучали в тех уроках с переменными?
@DenKof81
@DenKof81 5 років тому
Четко объяснено. Отлично усвоено. Большое спасибо! Лайк+ к 1.1 килолайков!!!
@temshik.invalid
@temshik.invalid 3 роки тому
лучший
@Nito4kin
@Nito4kin 4 роки тому
10/10
@user-ye7vc6ug1l
@user-ye7vc6ug1l 5 років тому
Спсб
@m_traff
@m_traff 4 роки тому
cool
@user-ox2nf5ul8i
@user-ox2nf5ul8i 4 роки тому
НАВЕРНОЕ было бы нагляднее если бы масив был на пару тысяч. И посмотреть что бы было без деструктора, и с ним. Но так, как уже было расказанно про утечку памяти, это можно и опустить, но было бы еще раз интеретно посмотреть). Спасибо, уроки агонь
@user-yd2fx8dx2f
@user-yd2fx8dx2f 22 дні тому
У меня возник вопрос, может быть вы знаете ответ? Если деструктор вызывается по умолчанию, даже когда мы его не прописываем, то зачем же его прописывать для динамического массива, деструктор же сам вызовется по умолчанию после выхода из области видимости? И второй вопрос, если деструктор можно вызвать только один раз, то, что же делать, если надо удалить два объекта или больше? Заранее спасибо.
@wasony.126
@wasony.126 4 роки тому
👍👍👍👍👏
@adamdee1679
@adamdee1679 Рік тому
Вопрос! Если внутри класса был создан объект через "Умный указатель" например [make_unique], то в таком случае Дин.память очищается автоматически согласно функционалу указателя, или же в классах для этого нужно пользоваться только деструктором?? За ранее благодарю за ответ!!
@Nikitunr2013
@Nikitunr2013 2 роки тому
Если создать копию класса, где есть ссылка на выделенную динамическую память, то при удалении такой копии, удалится и динамическая память оригинала, это можно решить с помощью объявления типа указателя на shared_ptr *ptr = new Тип;
@Alex-hs8xj
@Alex-hs8xj 5 років тому
если кто знает, подскажите кнопки для быстрого выделения строки кода
@igorvasylevskyi3629
@igorvasylevskyi3629 5 років тому
Дякую
@dmitryalekseev3412
@dmitryalekseev3412 6 років тому
Доброго времени суток,один вопрос,знаете ли вы Sfml?Если да ,то будут ли по нему видеоуроки в будущем?
@Tragraph
@Tragraph 5 років тому
smfl не самая лучшая библиотека для с++
@user-zd7er1uk7x
@user-zd7er1uk7x 5 років тому
Подскажете лучше?
@Tragraph
@Tragraph 5 років тому
Кама Пуля если хочется делать игры то лучше воспользоваться готовым движком. Ну или изучать OpenGL
@user-zd7er1uk7x
@user-zd7er1uk7x 5 років тому
Готовый движок изучать слишком просто, Опенгл - слишком сложно. SFML - это золотая середина)
@user34978
@user34978 Рік тому
в visual studio 22 года можно самому вызвать деструктор. Почему так?
@danish_m1305
@danish_m1305 3 роки тому
То есть имеет смысл использовать деструктор только если динамически выделенная память находится под private?
@user-su7sk3bk1r
@user-su7sk3bk1r 3 роки тому
11 человек поставили дизлайки, кто хотел узнать как создать деструктор с параметрами
@user-io3tc2cx7v
@user-io3tc2cx7v 5 років тому
Я предполагаю, что если нам нужна какая то инфа в файле, который мы открываем с помощью класса, то после обработки данных этого файла с помощью деструктора можно легко сделать так, чтобы файлы открытые данной функцией автоматически закрывались и дальше об этом вообще не думать (?). Спасибо огромное! Это мне очень поможет в выполнении моей задачи!
@SaffronChipMCPE
@SaffronChipMCPE 3 роки тому
Я конечно не шерлок, но с помощью деструктора можно сохранять данные в файл.
@overdoses1794
@overdoses1794 6 років тому
Сергей, а что за музон на фоне играет?
@SimpleCodeIT
@SimpleCodeIT 6 років тому
Ethan Meixsell - Demise
@overdoses1794
@overdoses1794 6 років тому
Спасибо большое, и за урок тоже)
@davidhayrapetyan7484
@davidhayrapetyan7484 6 років тому
Не могу вызвать деструктор никак. Среда разработки- Visual studio 2012, что посоветуете?
@kadyshev2759
@kadyshev2759 4 роки тому
@@user-rm3ed2lq9d В vs 2017 такая же херня.
@sunrise9343
@sunrise9343 2 роки тому
Здравствуйте! Скажите, пожалуйста, в чём проблема, если деструктор вызывается больше раз, чем существует объектов? Заранее спасибо!
@allo-bardo937
@allo-bardo937 4 роки тому
Здравствуйте, на 5:45 вы написали в зоне видимости main setlocale, не понятно как конструктор и деструктор это поняли, ведь они находятся в другой зоне видимости
@kiritokun3092
@kiritokun3092 4 роки тому
*Ну так в main сначала попадает класс, а точнее его объект. Потом уже с этими знаниями он идёт дальше. Думаю логично, нет?*
@allo-bardo937
@allo-bardo937 4 роки тому
@@kiritokun3092 логично
@user-hy3vs3yj2q
@user-hy3vs3yj2q 2 роки тому
Сетлокэйл всегда пишется в мэйне и всегда выводит норм сообщения
@user-kt1iv1bq8w
@user-kt1iv1bq8w 11 місяців тому
15:51 А будет ли работать оператор delete[], если его прописать в конструкторе класса на строке 127?
@sleepyNovember_project
@sleepyNovember_project 3 місяці тому
По идее да, но только я сижу и туплю... Так же, по идее, delete[] удалит данные массива прежде чем ты их сможешь где-то использовать, вроде так будет
@viktorthyganchuk8710
@viktorthyganchuk8710 Місяць тому
Должен, ведь оператор будет написан после того как создался массив.
@vl2995
@vl2995 4 роки тому
Здравствуйте! Можете кинуть тапком за глупость, но прошу прояснить. Возьмем код, когда конструктор не принимает никаких значений(5:16): при создании объекта, вид "MyClass a;" вызывает конструктор, а затем и деструктор. Но при записи "MyClass a();" ничего не вызывается (я так понял объект вообще не создается). Почему так происходит? вроде бы в обоих случаях запрашивается создание без передачи значений. Я конечно понимаю, что писать скобки тут глупо - интересно в чем разница. ПС Спасибо Сергею за наиотличнейшие уроки!
@alsostankevich8895
@alsostankevich8895 4 роки тому
Почему не создаётся? MyClass a() - это и есть создание
@dimker4130
@dimker4130 4 роки тому
Если после выхода с Foo MyClass a удаляется, а я его дальше в main буду использовать, то что делать?
@ReedyNFTGod
@ReedyNFTGod 3 роки тому
Создавать класс в мейне и передавать его ссылкой в Foo
@dimduh97
@dimduh97 4 роки тому
Что за музыка на фоне? Подскажите название.
@RrRrRrRroman
@RrRrRrRroman 10 місяців тому
Ethan Meixsell - Demise
@render6999
@render6999 3 роки тому
получается что деструктор выполняется методом стека
@rustamibrahimli2113
@rustamibrahimli2113 6 років тому
Народ подскажите плиз,у меня из-за system(" pause") компилятор не показывает деструктор,если уберу показывает ,то на долю секунды ,не успеваю посмотреть.
@lennoxmacduff2037
@lennoxmacduff2037 6 років тому
Ты видимо прослушал в начале видео ремарку об области видимости Но объясню так: деструктор вызывается, когда функция, в которой создан объект класса, завершает свою работу и выходит из стэка вызова. Т.е. (как я понял) компилятор неявно прописывает последними строчками в функцию, в которой создан объект класса, деструктор для него.(Может это не так, и дописывание происходит на уровне ассемблера, но суть думаю ясна) В твоём случае system("pause") приостанавливает выполнение функции main() тем самым не позволяя ей закончить свои дела и выйти из стэка. Если хочешь увидеть деструктор, можешь сделать так: создать отдельную функцию(например Foo()), в ней прописать создание объекта и прочие непотребства, а затем в main'е вызвать Foo(). И, разумеется, после вызова добавь system("pause"), чтоб консоль не закрывалась.
@lombrozomir
@lombrozomir 6 років тому
cntrl + f5
@vitaliizadorozhnyi8101
@vitaliizadorozhnyi8101 5 років тому
@@lennoxmacduff2037 но в видео нет доп. функций, а деструктор то выводится на экран.
@iosiph
@iosiph 5 років тому
​@@vitaliizadorozhnyi8101 бля, час ломал голову над этим:D у него консоль не закрывается из-за отладчика:D поставь красную точку рядом с return 0; запусти отладчик ctrl+F5 и нажми step over F10. там видно что отладчик идет на последнюю строку после return и в итоге показывается как работает деструктор.
@vitaliizadorozhnyi8101
@vitaliizadorozhnyi8101 5 років тому
Спасибо. Вагон времени мне сохранил. XD
@Kokurorokuko
@Kokurorokuko 4 роки тому
А что можете сказать по поводу того, где должен находится конструктор? В public всегда?
@SaffronChipMCPE
@SaffronChipMCPE 3 роки тому
Да
@Kokurorokuko
@Kokurorokuko 2 роки тому
Я, конечно, же имел в виду деструктор, а не конструктор. В интернете пишут, что деструктор может быть в секции private, но это более сложный момент, который пока не важен.
@svvonline1
@svvonline1 3 місяці тому
@@SaffronChipMCPE Необязательно. Он может быть и private и protected, зависит от того что вы хотите сделать.
@By_B0SS
@By_B0SS 11 місяців тому
жесть каша в голове чем дальше ) вроде понял суть классов ну тут конструкторы и тд ппц сразу облом словил (( и как это все запомнить еще в голове уложить одно учишь другое забываешь , у кого то есть такое еще ? хотя по твоим урокам сделал крестики нолики игру ) только без класса про класс еще не знал
@sleepyNovember_project
@sleepyNovember_project 4 місяці тому
Практика. Когда хорошо попрактикуешься в использовании классов без описанных конструктора/деструктора при сознания разнородного простенького, запомнишь лучше основу классов. Потом уже с конструкторами и деструктором. Практика буквально укрепляет нейронные связи, так что так... И так со всем
@user-us2tr1us6t
@user-us2tr1us6t 3 роки тому
если в конце вставить system("pause"); то диструктор "не вызовится"
@elvinaustin1022
@elvinaustin1022 5 років тому
Каряка :D
@user-jp8fr4lz4c
@user-jp8fr4lz4c 2 роки тому
/* Эффект тарелки */
@luckstrike
@luckstrike 2 роки тому
6:57
@outcast-cr5yy
@outcast-cr5yy 5 років тому
деструктор не вызывается.
@user-nb3cv9bq9r
@user-nb3cv9bq9r 2 роки тому
коммент для хотя бы минимального продвижения видео
@smbd5294
@smbd5294 3 роки тому
У меня ошибка: "cout" не является однозначным
@user-qu5ch6rl4f
@user-qu5ch6rl4f 2 роки тому
Такая ошибка возникает, если один из cout вызывается после завершения функции main, вродь
@EdwardPanosyan
@EdwardPanosyan Рік тому
Можно сказать, что Деструктор работает по основа стеко?
@aramsargsyan621
@aramsargsyan621 3 роки тому
А деструктор использовается только для освобождения помяти?
@svvonline1
@svvonline1 Рік тому
Не только. Для любых действий, например, закрытие файла, сокета и т.д.
@user-sk9cm2nv7h
@user-sk9cm2nv7h 10 місяців тому
Теперь всегда буду тилду называть корякой
@condors3053
@condors3053 6 років тому
как создать динамический объект?
@user-or1hy4xz8u
@user-or1hy4xz8u 2 роки тому
а что это?
@lllZarakilll
@lllZarakilll 6 місяців тому
Для тех кто столкнулся с проблемой что диструктор не выводит сообщения: Диструктор срабатывает после завершения программы а именно после Return 0.
@sleepyNovember_project
@sleepyNovember_project 3 місяці тому
Лол, конечно ничего не будет выводиться когда ты завершишь работу проги, разумеется если основное окно программы это не дочерний объект какого-то родительского окна, в которое выводится вся инфа
船长被天使剪成光头了?#天使 #小丑 #超人不会飞
00:28
超人不会飞
Переглядів 13 млн
ФОКУС С ЧИПСАМИ (секрет)
00:44
Masomka
Переглядів 3,8 млн
skibidi toilet 73 (part 2)
04:15
DaFuq!?Boom!
Переглядів 10 млн
Пояснительный материал к задаче КВ_1 курса "Объектно-ориентированное программирование" (2023/24)
2:04:14
船长被天使剪成光头了?#天使 #小丑 #超人不会飞
00:28
超人不会飞
Переглядів 13 млн