Структуры в C++ | struct C++. Разница между структурой и классом. Изучение С++ для начинающих.

Поділитися
Вставка
  • Опубліковано 16 лис 2024

КОМЕНТАРІ • 108

  • @SimpleCodeIT
    @SimpleCodeIT  6 років тому +79

    *Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)*

    • @mar_kha
      @mar_kha 2 роки тому

      @@DepechLyot привет, давай дружить)

  • @i4q236
    @i4q236 6 років тому +292

    Нашёл в нете разницу между классами и структурами...структуры были ещё в языке C...но не было модификаторов доступа(те по сути инкапсуляции), не было наследования и полиморфизма, а также не было функций (методов)...потом появился С++, ООП и новый тип данных класс, в котором появилось ООП, инкапсуляция, полиморфизм, наследование и методы. Но поскольку язык С++ включает в себя язык C в нем оставили структуры, наделив их свойствами классов, с той лишь разницей, что в структуре все поля по умолчанию public ))))))))))

    • @eduardeduard933
      @eduardeduard933 4 роки тому +16

      Спасибо что дополнил инфу из видео, лично мне всегда не хватает отсылок к С

    • @ДмитрийБузницкий-б3н
      @ДмитрийБузницкий-б3н 2 роки тому +18

      Спасибо за инфу, а то я сижу в голове с мыслями типа таких: "Зачем нужны структуры, если есть классы?"

    • @NoOneNOW
      @NoOneNOW 2 роки тому

      Спс, не пришлось гуглить

    • @return_89
      @return_89 9 місяців тому

      В плюсах многое так из С все ещё «живет» как динозавры 😂

    • @Ordinary_man2049
      @Ordinary_man2049 Місяць тому

      Стоит отметить, что в С структуры могут хранить указатели на функции и другие структуры, что позволяет реализовать что-то похожее на классы с полями и методами, вложенными структурами и так далее.
      Инкапсуляция в С есть. Для этого можно создать отдельный source.c и инициализировать в нем static переменные и функции. Статические переменные и функции будут доступны только в области видимости этого файла. Тогда в main.c при подключении source.h будут видны только переменные и функции, которые не static. Такой вот костыль а-ля приватных полей и методов класса.

  • @mar_kha
    @mar_kha 2 роки тому +155

    Забавно, что в вузе мы сначала прошли тему "Структуры", а после только через год приступили к изучению ООП

    • @iloveuwick2
      @iloveuwick2 Рік тому +18

      Идёт 23 год, а ничего не изменилось( У нас в вузе так же

    • @jonny_inner_voice
      @jonny_inner_voice Рік тому +7

      У меня в колледже так же, сейчас на первом курсе учу структуры , а по программе конца второго только будет затрагиваться ООП

    • @squeezeディック
      @squeezeディック Рік тому

      @@jonny_inner_voice как так, я за 2 недели до этого урока дошел, что вы в том колледже делаете?

    • @ФАНТОМ-д1и
      @ФАНТОМ-д1и Рік тому +1

      Структура - это просто тип данных.
      Наверняка у вас задание просто создать этот тип, в нём несколько полей и пару тривиальных функций для вывода и удаления.
      ООП - это уже тема про то, как связывать между собой объекты и делать из них единую систему.

    • @squeezeディック
      @squeezeディック Рік тому +2

      @@ФАНТОМ-д1и Америку открыл

  • @SimpleCodeIT
    @SimpleCodeIT  6 років тому +16

    #структуры #struct #SimpleCode #урокипрограммирования

  • @KarKoun
    @KarKoun Рік тому +26

    В унике сказали что классы будем изучать после структур на ООП, захожу в инет и вижу что структуры это уже ООП которые к тому же изучают после классов, люблю наше образование👍

    • @Red_Avenger
      @Red_Avenger Рік тому

      Это называется: "креативность образовательных программ".
      _"Вхождение в новый этап развития общества - информационное общество - совместно с развитием идей постмодернизма неизбежно влечёт за собой повышение значимости образования, творческого подхода к обучению и личностной креативности каждого отдельного члена общества. В связи с наблюдаемыми изменениями от учителей как никогда требуется понимание ценностей современной информационной эпохи. Поскольку креативность в XXI веке выходит на лидирующие позиции в разных областях человеческой деятельности по всему миру, то значимость творческого подхода в образовательном процессе возрастает."_ 🤣🤣🤣

    • @TurboGamasek228
      @TurboGamasek228 Рік тому +3

      так по факту структуры это легче чем классы

    • @hdtrydyydyd2486
      @hdtrydyydyd2486 Рік тому +7

      причём тут образование, причём тут лучше/хуже? Просто есть разные программы и даже в большинстве программ структуры идут раньше. Странно судить, как правильно с одного видео в ютубе, на котором порядок другой. Что класс изучишь раньше, что структуры, потом просто скажут отличия другого, разницы особой нет, что первым

    • @s4ymyn4me44
      @s4ymyn4me44 Рік тому

      @@hdtrydyydyd2486адекватные люди существуют

    • @РазДва-ш8о
      @РазДва-ш8о 10 місяців тому

      Ты об образовании судишь по ролику с ютаба?

  • @СергейФёдоровичОкнечнис

    Спасибо!!! Хорошо обьясняешь!!! Ни разу не пожалел что смотрю именно твои уроки...

  • @FuLLHD17395
    @FuLLHD17395 6 років тому +54

    Сергей, как всегда: всё супер просто и понятно! Спасибо большое за ваши уроки! Смотрю ваш канал , будто сериал - без перерыва xD Очень быстро расту и в любой непонятной ситуации смотрю ваши уроки, а также пересматриваю старые, если что-то забыл! :) Очень благодарен вам за ваш труд :) Всегда кидаю объяснение какой то темы именно с вашего канала, если кто то из друзей просит)

  • @ОльгаЕгорцева-й2н
    @ОльгаЕгорцева-й2н 6 років тому +14

    Где же Вы были раньше((( А урок, как всегда-на высоте.Всё по полочкам. Спасибо!

  • @C2H5OHH
    @C2H5OHH 3 роки тому +2

    Thank you for the lesson!

  • @Ermine882
    @Ermine882 6 років тому +6

    Спасибо за урок.

  • @NIKOLAY_PSHONIA
    @NIKOLAY_PSHONIA 6 років тому +6

    Спасибо Сергей. Смотрю твои уроки. Хорошо если бы преподаватели в вузах так объясняли.

  • @Ray-kz3nm
    @Ray-kz3nm 6 років тому +5

    Лучшие уроки по плюсам что я видел. Спасибо за подробное объяснение, ждем новые выпуски по С++

  • @i4q236
    @i4q236 6 років тому +21

    Я тоже не понял какой смысл использовать структуры....должна быть какая-то ещё разница...наверное...)))

    • @АндрейВоронкин-щ6ф
      @АндрейВоронкин-щ6ф 6 років тому +5

      Есть смысл, когда ты программируешь на С для микроконтролеров

    • @ME-ls9de
      @ME-ls9de 6 років тому +1

      @@theoctan8569 в с# struct передается по значению, так как ты можешь контролировать их в памяти?)
      Может ты спутал с ссылочным типом class
      Или я...

    • @ДмитрийЕрошенко-и2н
      @ДмитрийЕрошенко-и2н 4 роки тому +3

      С++ пошёл от С, в С не было классов, в С были структуры

  • @pavelios3577
    @pavelios3577 5 років тому +1

    Благодарю за видео.

  • @asankod8549
    @asankod8549 3 роки тому

    С этого ролика нашел этот канал)
    а сейчас уже посмотрел почти 150 роликов и вернулся на этот ролик)

  • @Redrik
    @Redrik Рік тому +4

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

  • @aseyori1074
    @aseyori1074 6 років тому +1

    Канал просто лучший!Все видео качественные и понятные.Очень понятно рассказываешь сложные вещи просто на пальцах.
    Очень жаль что подписчиков мало(
    Хорошо было бы рекламу сделать

    • @yourownazog8069
      @yourownazog8069 6 років тому

      уже более чем достаточно!

  • @netox1717
    @netox1717 2 роки тому

    Большой респект автору

  • @KingDog25
    @KingDog25 3 роки тому +1

    Блин спасибо, всегда думал, нахрена их два варианта сделали и структура и класс, а по сути это одно и то же, как его не назови - смысл упорядочивания, с минимальными различиями.

  • @RomanGadiev
    @RomanGadiev 4 роки тому +2

    спасибо!

  • @ИванКозловский-ш9н

    привет из 2023. Спасибо большое за уроки!

  • @sticktogether2326
    @sticktogether2326 5 років тому +2

    Каждый урок полезный, доступный (даже для самых тупеньких типа меня). Спасибо - лайк под каждым видосом

  • @АндрейМиненко-ц3з
    @АндрейМиненко-ц3з 6 років тому +5

    Спасибо за урок

  • @mykhailomorhal2181
    @mykhailomorhal2181 6 років тому +3

    Спасибо)

  • @artlinestudio6735
    @artlinestudio6735 3 роки тому +1

    Потрясающий урок! Спасибо! Сергей, пожалуйста вернитесь к урокам по С++. Очень просим!

  • @vitaliyv.7071
    @vitaliyv.7071 6 років тому +7

    Сергей, я жалею, что только недавно узнал о вашем канале. Большое спасибо - это лучший introduction в С++ из всех, которые мне попадались в Интернете. Хотел спросить, планируете ли вы уроки по векторам и матрицам в С++?

  • @WizardPlatypus
    @WizardPlatypus 4 роки тому +12

    Я правильно понимаю: структуры в С++ - не ушедший в мир иной дух чистого С, в котором не были реализованы парадигмы ООП, и для рядового программиста это может значить, что формально правильно использовать структуры там, где ООП не суть важно, а в остальных случаях стоит предпочитать классы?

    • @carrington.
      @carrington. Рік тому

      Ооо, Федя) походу все наши смотрят этот канал, но не все комментируют

  • @Hanns-go1rn
    @Hanns-go1rn Рік тому +1

    Ещё отличие в том, что структура не имеет указатель на самого себя, в то время как в классе есть

  • @labrash777
    @labrash777 Рік тому

    2:54

  • @wasony.126
    @wasony.126 4 роки тому

    Красавела 👌👌👌👌👍👍👍👍

  • @kaynsolo
    @kaynsolo 6 років тому +3

    Like!

  • @DmitryDolganov
    @DmitryDolganov 5 років тому

    Спасибо!

  • @mishapython2241
    @mishapython2241 6 років тому +3

    Вииииииииииииииииииии

  • @Vadiminator46
    @Vadiminator46 6 років тому +10

    На главный вопрос не ответил. В чем смысл их использования-то? Сэкономить 1 строчку, которую занимает слово паблик?

    • @yaroslav7782
      @yaroslav7782 6 років тому

      Тоже интересует этот вопрос. Зачем они вообще нужны и какое их преимущество в использовании над класами?

    • @divealise
      @divealise 6 років тому +19

      Структуры в C++ существуют для обратной совместимости с языком C. Чтобы код на C (а его много) мог компилироваться и использоваться в C++.

  • @ЯрославГоловко-ф6и

    спасибо

  • @СарматПересветов
    @СарматПересветов 3 роки тому +1

    отличный урок, спасибо)

  • @ekaterina1991
    @ekaterina1991 6 років тому +3

    Спасибо огромное за урок, Сергей. Хотела уточнить может ли структура иметь virtual методы или просто все на public при наследовании? Используем ли мы override?

  • @PavelS-m5r
    @PavelS-m5r 2 роки тому

    Что-то в VS2019 похоже сделали, что при наследовании структуры поля приватности сохраняются.

  • @miroslavklyukovsky683
    @miroslavklyukovsky683 2 роки тому +2

    Спасибо!! К слову классы и структуры могут наследоваться друг от друга)

  • @vladalu9794
    @vladalu9794 6 років тому +2

    спасибо большое!!

  • @blackgolddev4023
    @blackgolddev4023 4 роки тому

    Спасибо большое. Всегда думал про структуры по другому.

  • @overdoses1794
    @overdoses1794 6 років тому +7

    Сергей, извините, тупой вопрос, вы играете на электрогитаре? И спасибо за урок)

    • @SimpleCodeIT
      @SimpleCodeIT  6 років тому +11

      Немного играю, пожалуйста.

    • @kiruxalight3593
      @kiruxalight3593 5 років тому +6

      @Overdoses, это, скорее, не тупой вопрос, а вопрос не по теме

  • @s1lentgrave
    @s1lentgrave 4 роки тому +1

    6:51 "...без указнания" \(^v^)/ !

  • @IT_Enthusiast
    @IT_Enthusiast 6 років тому +1

    Дякую!

  • @liudasliudelis9666
    @liudasliudelis9666 6 років тому +2

    Dėkui

  • @rezus_kda
    @rezus_kda 3 роки тому +1

    Получается структура больше ленивым подходит)

  • @marz3244
    @marz3244 5 років тому +12

    Как бы я хорошо я к Вам не относился, но всё же вы здесь упустили важную вещь:
    struct в первую очередь предназначена для структурирования данных в "один массив". Да, его реализация очень схожа с class, но всё же class используется для описания каких-либо объектов, а не для работы с данными, struct в свою очередь работает в основном с данными.
    P.S. Они оба подходят и для того, и для того, всё же это сделано для лучшей читаемости кода и для более удобной навигации самому (к примеру, предложения "Класс таблицы успеваемости студентов" и "Структура данных успеваемости студентов" всё же различаются, второе звучит правильнее как-то). Очень глупое различие, но всё же оно такое.

  • @glybdayn3371
    @glybdayn3371 3 роки тому

    найс

  • @sancholife9451
    @sancholife9451 5 років тому

    Очень огромное спасибо! Лайк и поделился с друзьями!!! Полезный урок и как раз кстати... задолбался пользоваться Еслями при написании меню под AVR)

  • @gavyttop1341
    @gavyttop1341 2 роки тому +1

    есть одно замечание! может это не у всех, но! инициализировать переменные в классе нельзя!
    это компилятор принимает за ошибку!!! про структуры хз но в классе нельзя

    • @svvonline1
      @svvonline1 Рік тому +1

      Зависит от версии стандарта С++. Начиная с 11 можно.

  • @СоломіяСлонівська

    Структура-це тип даних, який об’єднує в одну сутність декілька іменованих, можливо, різнотипнихзначень. У програмах мовою С++ їх використовують для моделювання невеликих структурованих об’єктів, наприклад:тривалість у годинах і хвилинах, календарна дата, раціональне число, точка декартової площини тощо.

  • @pavelnovikov3894
    @pavelnovikov3894 3 роки тому

    мда, это мой самый короткий урок, даже как-то не честно себя чувствую)))

  • @IMissMyDarlingDear
    @IMissMyDarlingDear 5 років тому +14

    Изучаю с++ по литературе, не понял главу "структуры", пришёл на ютуб. "так а чо вы знаете классы и структуры такие же ничего не буду обьяснять нет нет нет " - я умер

    • @Kokurorokuko
      @Kokurorokuko 3 роки тому +8

      А в чём проблема? Или тебе должны были рассказать всё то же самое, но заменив слово "класс" на слово "структура"?

  • @ВіолеттаХора
    @ВіолеттаХора 5 років тому

    А как редактировать ранее введенную информацию в структуре?

    • @serzhant7169
      @serzhant7169 4 роки тому

      также как и вводить эту информацию

  • @realkjasonstatham
    @realkjasonstatham 3 роки тому

    Комментарий

  • @Ґангсер
    @Ґангсер 3 роки тому +1

    для чего же тогда нужны структуры, если это просто классы, но со "странностями"?

    • @gavyttop1341
      @gavyttop1341 2 роки тому +3

      это наследие языка С, но вообше в этом сила языка с++ он даёт 10000 способов для решения задач)

    • @sleepyNovember_project
      @sleepyNovember_project 9 місяців тому

      @@gavyttop1341 так вот в чём дело! :)

  • @vladportnov3041
    @vladportnov3041 5 років тому

    в структурах this надо писать через ->, через . нельзя

    • @serzhant7169
      @serzhant7169 4 роки тому +3

      а где можно?

    • @Kokurorokuko
      @Kokurorokuko 3 роки тому

      Через точку писать нигде нельзя, но Visual Studio с какой-то там версии исправляет точку на ->.

  • @alex_gres
    @alex_gres 5 років тому

    а можно без классов?

  • @ЮрійВоїнський
    @ЮрійВоїнський 2 роки тому

    чому не державною?

    • @Get_Boros
      @Get_Boros Рік тому

      Дату роликів глянь, чи було заборено 5 років тому розмовляти російською?

  • @brayanhustler93
    @brayanhustler93 Рік тому

    ну а какой вообще полезный выхлоп от этих структур, если это те же самые яйца, что и классы, но только в профиль?

    • @sleepyNovember_project
      @sleepyNovember_project 9 місяців тому

      Одно яйцо public другое private

    • @brayanhustler93
      @brayanhustler93 9 місяців тому +1

      @@sleepyNovember_project а третье, я так понимаю - protected ? (-__-)

  • @СлаваМорозов-м3й

    нифига не для начинающих.

    • @sleepyNovember_project
      @sleepyNovember_project 9 місяців тому +1

      А ты посмотри не со 129 видео, а с первого и до 129 все видео))

  • @DD0S2
    @DD0S2 3 роки тому

    спасибо

  • @stalker-hn4is
    @stalker-hn4is 2 роки тому +1

    спасибо

  • @ВітяКоміссаров
    @ВітяКоміссаров 2 роки тому

    спасибо

    • @Shivafx1231
      @Shivafx1231 2 роки тому

      please brother i am not good in dsa