Шаблоны классов с++ примеры. Обобщенные классы. Изучение С++ для начинающих. Урок

Поделиться
HTML-код
  • Опубликовано: 25 дек 2017
  • Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)
    Шаблоны функций. Шаблонные функции c++. template typename. template class. Урок #41
    goo.gl/sb5k74
    Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут!=)
    www.donationalerts.ru/r/simple...
    или тут
    / simplecode
    Уроки по программированию
    Наша группа ВК smplcode
    Подписывайтесь на канал / @simplecodeit

Комментарии • 73

  • @SimpleCodeIT
    @SimpleCodeIT  6 лет назад +60

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

    • @TheWladberlin
      @TheWladberlin 4 года назад +1

      @@hvac_vdk "... которая позволяет намного более удобно оперировать с данными" (0:40) - Это я к заявлению о том что "STL - это самостоятельная библиотека". В том смысле что, не вижу противоречий, к тому что Сергей говорит.

    • @mkiloyan
      @mkiloyan 4 года назад

      @@UFO26 конечно

    • @mkiloyan
      @mkiloyan 4 года назад

      @@UFO26 чтобы освободить динамически выделенную память и для уничтожения данных по окончании работы проги

    • @mkiloyan
      @mkiloyan 4 года назад

      @@UFO26 для простых классов , какой вы написали , для него не нужен деструктор , для него вызывается компилятором , так что вызов дестркюуктора зависит от случая , который вы рассматриваете

    • @mkiloyan
      @mkiloyan 4 года назад

      @@UFO26 и да прд уничтожением данных подразумевается очистка памяти , котору заняла прога , по окончании очищается

  • @artlinestudio6735
    @artlinestudio6735 2 года назад +19

    Потрясающие уроки и подача материала! Душевный лайк! Просим продолжить уроки по С++. Пожалуйста.

  • @SimpleCodeIT
    @SimpleCodeIT  6 лет назад +20

    #шаблоныклассов #обобщенныеклассы #SimpleCode #урокипрограммирования

  • @ruslandad365
    @ruslandad365 7 месяцев назад +1

    Самый лучший урок
    все понятно и наглядно с примерами
    и ваши объяснения просто ЗОЛОТО!!!

  • @camo_3jio
    @camo_3jio Год назад +2

    Поддерживаю большинство комментариев, подача материала замечательная, всё понятно и развёрнуто! Спасибо за бесплатный и качественный контент!

  • @Bagasl
    @Bagasl 5 лет назад +51

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

  • @vaynah9540
    @vaynah9540 6 лет назад +40

    RESPEKT BRAT 😊👍👍👍👍👍👊👊👊👊👊☝☝☝☝☝☝☝☝☝

  • @blchnk9278
    @blchnk9278 4 года назад +15

    Очень полезное видео! Благодаря тебе я сделаю лабу и меня не отчислят

  • @KurpatovInstagram
    @KurpatovInstagram 6 лет назад +15

    Спасибо!

  • @segars9604
    @segars9604 6 месяцев назад +1

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

  • @vladalu9794
    @vladalu9794 6 лет назад +15

    огромное спасибо за урок!!!

  • @SeshAlex
    @SeshAlex 6 лет назад +9

    Спасибо за урок. Очень интересная тема.

  • @overdoses1794
    @overdoses1794 6 лет назад +14

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

  • @user-nw5iw5ew9z
    @user-nw5iw5ew9z 2 года назад +3

    Спасибо, Сергей. У вас очень хорошие уроки, продолжайте в том же духе.

  • @user-pn2zm1ob2k
    @user-pn2zm1ob2k Год назад +8

    Так забавно, за полчаса после урока смог написать шаблонный класс двусвязного списка и он работает. Ыыы, круто. Даже операторы переопределил некоторые. Когда-нибудь меня хватит на что-то большее.

    • @user-ye5hi9cu8s
      @user-ye5hi9cu8s 10 месяцев назад

      Ну что, ты? Как дела?

    • @user-pn2zm1ob2k
      @user-pn2zm1ob2k 10 месяцев назад +1

      @@user-ye5hi9cu8s пишу языковую виртуальную машину🙂

    • @user-uw1qm1yi2h
      @user-uw1qm1yi2h 9 месяцев назад

      Как дела?

  • @pavelios3577
    @pavelios3577 6 лет назад +14

    Спасибо.

  • @AnnTimLeo
    @AnnTimLeo 5 лет назад +4

    Спасибо! Замечательный урок!

  • @sleepyNovember_project
    @sleepyNovember_project 4 месяца назад

    Вот оно как делается! Урок зашибенен

  • @Antonov_Ivan.
    @Antonov_Ivan. 5 месяцев назад

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

  • @Ermine882
    @Ermine882 6 лет назад +14

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

  • @observer7742
    @observer7742 Год назад

    Огромное спасибо)

  • @nokhcho3019
    @nokhcho3019 2 года назад +1

    Очень хорошо объясняешь. Спасибо за эти уроки!

  • @user-pg1ed3jw1p
    @user-pg1ed3jw1p 3 года назад +2

    Спасибо большое , все стало ясно , после твоего видео .Всем рекомендую !

  • @user-xf7zl2xk6q
    @user-xf7zl2xk6q 7 месяцев назад

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

  • @ide9827
    @ide9827 Год назад

    коммент для продвижения видео автору респект

  • @DART2WADER
    @DART2WADER 3 года назад +2

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

  • @victoriacheetah6804
    @victoriacheetah6804 2 года назад +2

    Почему у меня возле template пишет "Укажите аргументы примера шаблонов для IntelliSense" ? Как это убрать?

  • @kaynsolo
    @kaynsolo 6 лет назад +8

    Like!

  • @user-lx5vv3uu8u
    @user-lx5vv3uu8u 4 года назад +2

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

  • @user-zt5hj1um5l
    @user-zt5hj1um5l 2 года назад +1

    Смотрю, набираюсь знаний, отличный канал

  • @bama2619
    @bama2619 2 года назад +1

    Все супер! Спасибо!

  • @user-vp1qj7ec5f
    @user-vp1qj7ec5f 4 года назад +1

    просто лучший !

  • @dm-a1916
    @dm-a1916 2 года назад +1

    Супер! Спасибо!

  • @JohnSmith-es2fh
    @JohnSmith-es2fh 9 месяцев назад +1

    я так понял, тут по аналогии как с абстрактными классами, только там - есть функции virtual void foo() = 0, а тут void foo(T1 value)

  • @gamephoenix666
    @gamephoenix666 5 лет назад +3

    Вижу влияние C#

  • @blackgolddev4023
    @blackgolddev4023 4 года назад +2

    Шикарно

  • @XXX-to8fv
    @XXX-to8fv 4 года назад +4

    Кто не знал можно написать вот так:
    auto a;
    Компилятор автоматом подхватит,что это за переменная.

    • @XXX-to8fv
      @XXX-to8fv 4 года назад

      Gl:>

    • @user-cq8zy7iw3b
      @user-cq8zy7iw3b 3 года назад +6

      Это чтоб код был плохо читаемым?)

    • @user-vw8iw7sv9o
      @user-vw8iw7sv9o Год назад

      Спс а то не особо понимал смысла это шаблона если мы всеровно указываем заранее что у нас будет за тип

    • @sleepyNovember_project
      @sleepyNovember_project 4 месяца назад

      @@user-vw8iw7sv9o если MyClass работает, то крутяк. Я ещё не пробовал

  • @MrBreOr
    @MrBreOr Год назад

    Здравствуйте. Столкнулся с проблемой определения класса в .cpp и .h файле. Непонятное поведение, методы класса в .cpp не понимают что за "T" я от них требую.

    • @GetBoros
      @GetBoros Год назад +1

      Конструктор в .h ALesson_Template(const T &Type_Name);
      Конструктор в .cpp template ALesson_Template::ALesson_Template(const T &type_name)

  • @seam37
    @seam37 3 года назад

    SPASIBO!!

  • @Vampiracus
    @Vampiracus 2 года назад

    А как реализацию методов обобщенного класса выкинуть в исходник?

  • @user-kb6qd8rg4g
    @user-kb6qd8rg4g 4 года назад

    спасибо

  • @alexandersmirnov4274
    @alexandersmirnov4274 Год назад +2

    ну вы и объясняете конесно
    почему нельзя рассказать что для кадого типа генерируется компилятором соот класс с этим типом

  • @ilnev3738
    @ilnev3738 3 года назад

    Спасибо

  • @DART2WADER
    @DART2WADER 3 года назад

    Проще Argument deuction guide для MyClass написать чтобы в не указывать тип:
    template
    MyClass(T)->MyClass;

  • @wasony.126
    @wasony.126 4 года назад

    13:58 чет не понял

  • @user-sd6wq1dy5i
    @user-sd6wq1dy5i 5 лет назад +1

    так лучше
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    using namespace std;
    class a {
    public:
    a() {x = y = z = 0;
    }
    a(int x, int y, int z) {
    this->x = x; this->y = y;
    this->z = z;
    }
    private:int x; int y; int z;
    };
    template//шаблонный класс
    class my {
    public:
    my(t1 value) {
    this->value = value;
    }
    public:
    void get() { cout

    • @pubgr862
      @pubgr862 5 лет назад +21

      егор щербанов херня какая то зачем столько библиотек если по факту кроме иострима не одна не задействована, так же в классе my зачем то две паблик секции и секция протект если кто не наследует из неё ничего. Чем твой код отличается от кода в уроке в сторону « Так лучше» не понятно.

    • @kadyshev2759
      @kadyshev2759 4 года назад

      Соглашусь с человеком выше - нахрена столько библиотек?

    • @itgoslz8448
      @itgoslz8448 Год назад +1

      дебилизм...

    • @sleepyNovember_project
      @sleepyNovember_project 4 месяца назад

      Вертикал спейсинг где, всё впритык :(

  • @user-zv8mr2iw6k
    @user-zv8mr2iw6k 2 года назад

    Вынес определение класса в другой модуль, при компоновке получил ошибку.
    Ошибка LNK2019 ссылка на неразрешенный внешний символ "public: __thiscall Test::Test(int)" (??0?$Test@H@@QAE@H@Z) в функции _main. Тесты
    Если не выносить в другой модуль или не использовать шаблон, а определить типы явно, то выполняется и компилируется.
    Какой урок смотреть?

    • @vsevolodtodd4304
      @vsevolodtodd4304 2 года назад

      Шаблоны нельзя использовать если у тебя программа разбита на модули

    • @user-zv8mr2iw6k
      @user-zv8mr2iw6k 2 года назад

      @@vsevolodtodd4304 можно код включить в h-файл. Есть мнение, что линковщик сможет дубли функций исключить.

  • @Decurion
    @Decurion 6 лет назад +15

    Спасибо!

  • @stensej6841
    @stensej6841 3 года назад +1

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

  • @DD0S2
    @DD0S2 3 года назад

    спасибо

  • @user-rn6xk4de5w
    @user-rn6xk4de5w 3 года назад +2

    Спасибо!

  • @user-hb7er4ff9u
    @user-hb7er4ff9u 2 года назад

    спасибо