Перечисляемый тип enum С++. Изучение С++ для начинающих. Урок

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ก.ย. 2024
  • Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут!=)
    www.donationale...
    или тут
    / simplecode
    Уроки по программированию
    Наша группа ВК smplcode
    Подписывайтесь на канал / @simplecodeit

ความคิดเห็น • 85

  • @SimpleCodeIT
    @SimpleCodeIT  6 ปีที่แล้ว +58

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

    • @2221-r3x
      @2221-r3x 4 ปีที่แล้ว

      охуел епта

  • @stensej6841
    @stensej6841 4 ปีที่แล้ว +72

    Наконец-то я дошел до ENUM всегда было интересно знать что это ! Я блин я реально дошел до 124 урока ! :) Сергей , низкий поклон за твой труд !

    • @Viktor_Kardakov
      @Viktor_Kardakov ปีที่แล้ว +3

      Красавчик!

    • @nikitasuyazov2060
      @nikitasuyazov2060 2 หลายเดือนก่อน

      А как ему было трудно дойти до записи этого урока)

  • @mykhailomorhal2181
    @mykhailomorhal2181 6 ปีที่แล้ว +79

    Я хотів подякувати вам за вашу роботу. Добра вам!

  • @weiss2711
    @weiss2711 5 ปีที่แล้ว +33

    Шикарные ролики. Каждый раз удивляюсь как вы доходчиво объясняете материал.

  • @sonyahurdy3589
    @sonyahurdy3589 4 ปีที่แล้ว +18

    Вы такой зайчик!)) Вы так всё хорошо и понятно объясняете!) Лучше чем любой преподаватель в моём вузе.

  • @azimut8676
    @azimut8676 4 ปีที่แล้ว +12

    Спасибо за урок) Ещё немного не хватает информации о применении ключевого слова "class" в определении перечисления. Оно тоже служит для "незасорения" пространства имён. Если вы напишите "enum class PCState {}", то в программе вы уже не сможете обратится к какому-то состоянию, как к константе. То есть компилятор вас обяжет использовать название перечисления, например "PCState::OFF".

  • @zhannamenshikova5967
    @zhannamenshikova5967 3 ปีที่แล้ว +12

    Спасибо, очень доходчиво. Хочу добавить, что если идёт явное присвоение значения то последующие если не задать то они сами инкрементятся, это полезно если например числа подряд, но не с нуля.

  • @overdoses1794
    @overdoses1794 6 ปีที่แล้ว +23

    Благодарю! Замечательный урок, он упрощает мои действия в коде. Спасибо за ваши старания

  • @SimpleCodeIT
    @SimpleCodeIT  6 ปีที่แล้ว +18

    #enum #SimpleCode #урокипрограммирования

  • @СергейФёдоровичОкнечнис
    @СергейФёдоровичОкнечнис 6 ปีที่แล้ว +25

    Классно обьясняешь!!! Спасибо!!!

  • @BrownAleks
    @BrownAleks 4 ปีที่แล้ว +2

    Сергей! Ты как всегда великолепен! Браво!

  • @Danshyn
    @Danshyn 6 ปีที่แล้ว +13

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

  • @HugoBossKosta
    @HugoBossKosta 2 ปีที่แล้ว +2

    спасибо за урок, всё кратко и по делу!

  • @pavelios3577
    @pavelios3577 6 ปีที่แล้ว +9

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

  • @krevetkav2659
    @krevetkav2659 2 ปีที่แล้ว +1

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

  • @segars9604
    @segars9604 10 หลายเดือนก่อน +1

    Спасибо за бесценный труд!)

  • @GottyMintly
    @GottyMintly 3 ปีที่แล้ว +5

    Лайфхак: как удлиннить 0 до PC::PCState::OFF)0)

  • @vladalu9794
    @vladalu9794 6 ปีที่แล้ว +6

    спасибо большое друг!!

  • @PrivacyEnjoyer
    @PrivacyEnjoyer 2 ปีที่แล้ว +1

    Прекрасный пример!

  • @ДмитрийОвчаренко-д5е
    @ДмитрийОвчаренко-д5е 6 ปีที่แล้ว +7

    Не знаю на счет других IDE, но в VC2017 синтаксис позволяет обращаться напрямую к данным enum без указания их типа. Пример:
    #include
    using namespace std;
    class pc
    {
    public:
    enum PCS { OFF, ON, SLEEP };
    PCS getstate() { return State; }
    void setstate(PCS State) { this->State = State; }
    private:
    PCS State;
    };
    int main()
    {
    setlocale(LC_ALL, "ru");
    pc PC;
    PC.setstate(PC.OFF);
    switch (PC.getstate())
    {
    case PC.ON:
    cout

    • @Kcifler
      @Kcifler 6 ปีที่แล้ว +10

      Все верно, можно даже без "PC." Но это работает, если писать такие маленькие программы, как в примере, В больших проектах те же настройки OFF и ON могут служить для многих целей с разными типами данных, и там уже придется обращаться через указание конкретного типа, дабы не фантазировать с названиями))

  • @DmitryDolganov
    @DmitryDolganov 5 ปีที่แล้ว +1

    Сергей, спасибо!

  • @C2H5OHH
    @C2H5OHH 3 ปีที่แล้ว +1

    Thank you for the lesson!

  • @_mirai
    @_mirai 5 ปีที่แล้ว +3

    Лучшие уроки:0

  • @alexgaran5339
    @alexgaran5339 3 ปีที่แล้ว +1

    к стати знать числовое значение переменных внутри класса enum нужно. Если вы например пользуетесь методом Swich - легче задавать логику выбора в зоне видимости свича.

  • @Jessica_Cat-l1v
    @Jessica_Cat-l1v 6 หลายเดือนก่อน

    🐢 ух за 3 месяца я уже на 124 уроке тусуюсь. Если бы не Сергей, давно бы перешёл piton учить, там всё ж полегче

  • @vor_pobed6108
    @vor_pobed6108 3 ปีที่แล้ว

    Отличные уроки, спасибо огромное.

  • @kek1v
    @kek1v 5 หลายเดือนก่อน

    покажу то,как эту тему обьяснил мне copilot
    enum в C++ - это специальный тип данных, который позволяет создавать свои собственные типы данных, используя ключевое слово enum. Элементы enum представляют собой целочисленные константы, которые упорядочены в список.
    Вот простой пример:
    enum Day {Mon, Tue, Wed, Thu, Fri, Sat, Sun};
    В этом примере Day - это новый тип данных, а Mon, Tue, Wed и т.д. - это значения этого типа данных. По умолчанию, Mon будет равно 0, Tue будет равно 1, и так далее. Вы можете использовать эти значения в своем коде, как показано ниже:
    Day today = Mon;
    if (today == Mon) {
    cout

  • @atmosphere2281
    @atmosphere2281 3 หลายเดือนก่อน

    Сергей можно просто - ON, вместо - PCState::ON. Я не мог понять - зачем нас повторно указывать состояние через PCState, если мы уже объявили переменную данного типа.

  • @miroslavklyukovsky683
    @miroslavklyukovsky683 2 ปีที่แล้ว +1

    Спасибо!!!

  • @sleepyNovember_project
    @sleepyNovember_project 8 หลายเดือนก่อน

    Надо ещё узнать, как реализовать то, чтобы можно было в аргументы функций передавать такие объединения:
    "EMUM::ONE | ENUM::TWO | ENUM::THREE"

  • @sanekvelikiy
    @sanekvelikiy 2 ปีที่แล้ว

    лучший канал)

  • @Tyr4noBuba
    @Tyr4noBuba 2 ปีที่แล้ว

    Спасибо!

  • @viper_0097
    @viper_0097 7 หลายเดือนก่อน

    Люблю использовать enum, но я обычно не называю его, а чтобы понять, что значит этот enum, я просто пишу комментарий над ним

  • @pashudzu
    @pashudzu 3 หลายเดือนก่อน

    Стоп, я заметил, что в enum не пишут типы данных. Там какой-то по дефолту стоит, наверное строка.

  • @Armkeyter
    @Armkeyter 4 ปีที่แล้ว +1

    У меня работате и с: pc.SetState(PC::ON); Вроде мы так можем делать так как в самом PC есть Enum)

  • @binary_duck
    @binary_duck 5 ปีที่แล้ว +4

    Шел 2019, 507 лайков и еще ни одного дизлайка)

    • @vladportnov3041
      @vladportnov3041 5 ปีที่แล้ว +1

      @@ГарикКубич уже 871 лайк и 0 дизов))))

    • @nickdragun2772
      @nickdragun2772 5 ปีที่แล้ว +1

      874 лайка 0 дизов

    • @RrRrRrRroman
      @RrRrRrRroman ปีที่แล้ว

      2023. дизлайки скрыли)

  • @АлексейБаринов-ь5н
    @АлексейБаринов-ь5н 3 ปีที่แล้ว

    SC - это

  • @woodcarver333
    @woodcarver333 2 ปีที่แล้ว

    похоже на макрос?

  • @ruslandad365
    @ruslandad365 11 หลายเดือนก่อน

    ха у меня даже PCState указывать не нужно
    компилятор сам читает
    ну наверное только потому что там всего один инициализирующий список

  • @MelissaTeaCup
    @MelissaTeaCup ปีที่แล้ว

    Назовём её Ass)

  • @cav4906
    @cav4906 ปีที่แล้ว

    как ни крути все ровно костыль получается

    • @sleepyNovember_project
      @sleepyNovember_project 8 หลายเดือนก่อน

      Не, словами довольно удобно

  • @TheWladberlin
    @TheWladberlin 4 ปีที่แล้ว +1

    "нормальная! скорость самолета - называется "крейсерская". Так, к сведению, если что:))

  • @i4q236
    @i4q236 6 ปีที่แล้ว +14

    Создай, пожалуйста, видео про работу с файлами в стиле С...Нашёл код в нете создал проект, а компилятор ругается! Довольно странно! И ещё мне кажется давно уже надо было создать урок про структуры...ещё до классов...видос про пространно имён тоже на мой взгляд очень актуальная тема и хотелось бы в скором времени его увидеть, ах да чуть не забыл как разбить проект на файлы тоже очень важная тема! И это не только мои пожелания, а пожелания всех тех программистов начинающих, которые смотрят твои уроки, с которыми я общаюсь через ВК! )))

  • @Antonov_Ivan.
    @Antonov_Ivan. 8 หลายเดือนก่อน

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

  • @АндрейМиненко-ц3з
    @АндрейМиненко-ц3з 6 ปีที่แล้ว +3

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

  • @denya_manunited
    @denya_manunited 6 ปีที่แล้ว +17

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

    • @МаксимЩемелев-ч2д
      @МаксимЩемелев-ч2д 6 ปีที่แล้ว +1

      В плейлисте есть же целых два стрима по типу данных string (данные видеоролики, Денис, были выложены еще за 3 месяца до твоего поста).

    • @denya_manunited
      @denya_manunited 6 ปีที่แล้ว

      Максим Щемелев , там создание своего класса, а мне надо было работа с stl string

  • @Simba_the_cat
    @Simba_the_cat 5 ปีที่แล้ว +1

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

  • @ГеоргийНазаров-г6м
    @ГеоргийНазаров-г6м 6 ปีที่แล้ว +11

    Пасиб за урок. Решил написать змейку, нашёл на ютубе урок, а там этот enum. И вот вы мне помогли разобраться что к чему

    • @tatovka5209
      @tatovka5209 3 ปีที่แล้ว +1

      Понимаю, что прошло 2 года, но создавать змейку по уроку как-то так себе идея, лучше попробовать самому

    • @ВадимЛютин-е1ъ
      @ВадимЛютин-е1ъ 3 ปีที่แล้ว

      @@tatovka5209 о салам

    • @tatovka5209
      @tatovka5209 2 ปีที่แล้ว

      @@ВадимЛютин-е1ъ а ты кто?

  • @alexandrlapin3641
    @alexandrlapin3641 6 ปีที่แล้ว +6

    Опубликуйте карту ,я вам заплатить готов за такие хорошие уроки. )

    • @SimpleCodeIT
      @SimpleCodeIT  6 ปีที่แล้ว +2

      Если есть такое желание, то способы, как поддержать меня и канал, есть в описании под каждыми видео =)

  • @KurpatovInstagram
    @KurpatovInstagram 6 ปีที่แล้ว +4

    Спасибо!

  • @andrewbistroff1199
    @andrewbistroff1199 6 ปีที่แล้ว +6

    Спасибо за Урок!

  • @predaytor
    @predaytor 6 ปีที่แล้ว +4

    Было бы круто посмотреть на подобие игры крестики-нолики на принципах ООП

  • @allaksusallaksus2402
    @allaksusallaksus2402 6 ปีที่แล้ว +3

    Забыл рассказать, как сделать так чтобы enum занимал в памяти определённый объём

  • @kaynsolo
    @kaynsolo 6 ปีที่แล้ว +4

    Like it!

  • @stasleonov5196
    @stasleonov5196 7 วันที่ผ่านมา

    если вы решите упороться и попробуете хранить строку, то это будет примерно так
    class PC
    {
    public:
    enum PCState
    {
    ON,
    OFF,
    SLEEP,
    EAT
    };
    enum Speed
    {
    MIN,
    RECOMEND,
    MAX
    };
    PCState
    GetState()
    {
    return State;
    }
    void SetState(PCState State)
    {
    this->State = State;
    }
    Speed GetSpeed() { return Speed; }
    void SetSpeed(Speed s) { Speed = s; }
    const char *GetSpeedAsString()
    {
    static const char *speedStrings[] = {"Медленно", "Нормально", "Быстро"};
    return speedStrings[Speed];
    }
    private:
    PCState State;
    Speed Speed;
    };
    int main()
    {
    SetConsoleCP(65001);
    SetConsoleOutputCP(65001);
    setlocale(LC_ALL, "ru_RU.UTF-8");
    PC pc;
    pc.SetState(PC::PCState::EAT);
    pc.SetSpeed(PC::Speed::RECOMEND);
    switch (pc.GetState())
    {
    case PC::PCState::ON:
    cout

  • @trumpdmitry2288
    @trumpdmitry2288 5 ปีที่แล้ว +10

    Вывод : Перечисления служат для 1) Определения состояние объекта, а так же определения его поведения на основе состояния . 2 ) Устранения магический чисел 3 ) Читаймость кода

  • @ВітяКоміссаров
    @ВітяКоміссаров 2 ปีที่แล้ว +1

    спасибо

  • @angryshark5325
    @angryshark5325 4 ปีที่แล้ว +2

    Аригато, братан

  • @Nastojashhij_muzhchina
    @Nastojashhij_muzhchina 4 ปีที่แล้ว +1

    Скажи пожалуйста есть ли у тебя ролик на тему "enum class"?

  • @pashudzu
    @pashudzu 3 หลายเดือนก่อน

    Спасибо автору, лучшие уроки

  • @Viamsupervadetvadens
    @Viamsupervadetvadens 6 ปีที่แล้ว +4

    up

  • @masterturbo4631
    @masterturbo4631 ปีที่แล้ว

    классные уроки, Сергей! Благодарю! если что то непонятно, постоянно смотрю ваши уроки, и сразу все становится максимально понятно)

  • @armm6437
    @armm6437 2 ปีที่แล้ว

    У меня сейчас так работает PC::OFF (без PCState::)

  • @DD0S2
    @DD0S2 3 ปีที่แล้ว

    спасибо

  • @ЯрославГоловко-ф6и
    @ЯрославГоловко-ф6и 4 ปีที่แล้ว

    спасибо

  • @clarityimmortal2226
    @clarityimmortal2226 ปีที่แล้ว

    Спасибо за урок!
    Да, наконец-то и я тоже узнал что такое enum.

    • @isolaneed2445
      @isolaneed2445 ปีที่แล้ว +1

      Красавчик, я тоже теперь

  • @smart_electronics_il
    @smart_electronics_il 4 ปีที่แล้ว

    Здравствуйте.
    Подскажите пожалуйста, не могу сообразить...
    Вот пишу список, например:
    typedef enum {
    a,
    b,
    c
    }test;
    А в mine пишу так:
    cout

    • @naotomo2160
      @naotomo2160 2 ปีที่แล้ว

      mine это добывать