Дружественные функции и классы пример. Для чего используются. Как определяются. Для двух классов #88

  Рет қаралды 124,849

#SimpleCode

#SimpleCode

Күн бұрын

Пікірлер: 100
@НиколайПокровский-р6в
@НиколайПокровский-р6в 7 жыл бұрын
Счас смотрю уроки от GeekBrains по C# и твои одновременно по С++....и что хочу сказать, качество твоих уроков определенно выше.....и объясняешь намного понятнее,спасибо)
@АндрейЧакалов-б4т
@АндрейЧакалов-б4т 7 жыл бұрын
Я согласен. Тоже смотрел курс по C# на GeekBrains...Ничего не понятно. А SimpleCode разжевывает все детально, минимум вопросов остается или нет вообще.
@alexdi5423
@alexdi5423 6 жыл бұрын
Сергею надо на GeekBrains устроиться, и денег поднимет и качество курсов там.
@sheldon3705
@sheldon3705 5 жыл бұрын
Просто может тебе не нужно было записываться на курсы от GeekBrains? Так намного проще.
@ЕвгенийЗубков-б7о
@ЕвгенийЗубков-б7о 4 жыл бұрын
Сколько курс стоит?
@tp_pumba602
@tp_pumba602 Жыл бұрын
@@ЕвгенийЗубков-б7о как почка
@KurvaPsina
@KurvaPsina 4 жыл бұрын
то самое чувство когда посмотрел пару твоих видосов и написал курсач. чел, ты классный
@Jessica_Cat-l1v
@Jessica_Cat-l1v 10 ай бұрын
Сергей - преподаватель по призванию!!! Я уже почти 2 месяца учусь по его курсам и что хочу сказать - это так прикольно💣👍👍
@SimpleCodeIT
@SimpleCodeIT 7 жыл бұрын
Дружественные функции и классы пример. Для чего используются. Как определяются. Для двух классов. C++ Для начинающих. Урок#88
@ЗаМир-ж4з
@ЗаМир-ж4з 7 жыл бұрын
#SimpleCode помогите решить задачу "розробіть програму,яка скорочує дріб.Чисельник та знаменник дробу(цілі числа) вводиться з клавіатури.Використовувати для цього функцію обчислення найбільшого спільного дільника двох натуральних чисел"(извиняюсь,за то что не перевёл ,не знаю как с украинского на русский) помогите написать эту программу на языке С++
@РомаСелюжицкий-э1щ
@РомаСелюжицкий-э1щ 5 жыл бұрын
Во Фрэнд зоне оказывается не всегда плохо быть)) Урок как и все прошлые 87 штук лучшее!
@evenlee4956
@evenlee4956 Ай бұрын
вахвахвах
@smartninspired3857
@smartninspired3857 5 жыл бұрын
Сергей, вы прирожденный преподаватель!!!! спасибо Вам!!!
@nap0le0nb0naparte7
@nap0le0nb0naparte7 7 жыл бұрын
Хорошая эта вещь - Дружественная функция=)) Спасибо Сергей!!! предельно понятно.
@SimpleCodeIT
@SimpleCodeIT 7 жыл бұрын
#дружественныефункции #ООП #SimpleCode #урокипрограммирования
@youjustillusion536
@youjustillusion536 4 жыл бұрын
Учиться по вашим урокам - одно удовольствие)
@vladalu9794
@vladalu9794 6 жыл бұрын
Спасибо, очень интересно!
@poroh3646
@poroh3646 6 жыл бұрын
Большое спасибо, часто после умных книжек смотрю ваши видео для наведения порядка в голове. Прочитала у лафоре про friend и не въехала, зачем вообще всё это нужно. Теперь всё встало на свои места
@ИванИванов-й7и5э
@ИванИванов-й7и5э 6 жыл бұрын
А как в целом Лафоре?
@crypto_v1p
@crypto_v1p 2 жыл бұрын
Я после Лаффоре сюда пошёл 😂
@Kalin_cheetah
@Kalin_cheetah Жыл бұрын
Я тоже после Лафоре. У него не очень понятно описано. Но там приводится интересный подход использования таких функций применительно операторных функций. Через friend-функции можно сделать так, чтобы, допустим, operator+ принимала два аргумента. Потому что в обычном виде операторная функция принимает либо 0 аргументов для унарных операций либо 1 аргумент для бинарных. Если непонятно написал, могу позже дописать.
@shigo123
@shigo123 4 жыл бұрын
Учу уже почти 8 месяце C++ , книги плюс ваши видео на втрой круг ! И только сейчас начла понимать что к чему потихоньку ! Где ты ещё работку взять что бы хоть какие то программы начинать писать с коллективом !?
@СергейПетров-б1ф
@СергейПетров-б1ф 4 жыл бұрын
Придумывай сам себе задния)
@romankuznetsov4601
@romankuznetsov4601 2 жыл бұрын
OpenSource ждёт тебя
@olegbocharnikov950
@olegbocharnikov950 6 жыл бұрын
СПАСИБО !!!! я ее немного изменил сделал без гетеров и сеторов #include"pch.h" #include #include #include using namespace std; /* дружественные функции */ class point { //доступно всем public: //недоступно private: int x; int y; int z; /* разрешить данной функции быть дружественной она работает в абсолютно любых полях класса */ friend void changex(point & value); /* разрешить данной функции быть дружественной она работает в абсолютно любых полях класса */ friend int dostup(point & value); }; int kol = 1; // разрешенная дружественная функция void changex(point & value) { value.x = rand()%100; value.y = rand() % 100; value.z = rand() % 100; } int dostup(point & value) { cout
@Evgeny..
@Evgeny.. 4 жыл бұрын
Как всегда отличный урок, спасибо!))
@ИльяЯкобсон-ю7ж
@ИльяЯкобсон-ю7ж 4 жыл бұрын
Уххх, забористые алгоритмы написания пошли, спасибо за разъяснение!
@dabman2341
@dabman2341 5 жыл бұрын
Специально не пропускаю рекламу. Хотя бы так отблагодарю за труд
@Ermine882
@Ermine882 7 жыл бұрын
Спасибо за урок.
@bama2619
@bama2619 2 жыл бұрын
Спасибо, как всегда все круто объяснил! Спасибо! реализую контейнеры STL и разбираюсь c friend
@alivewel
@alivewel Жыл бұрын
Отличный урок. Спасибо!
@АндрейМеньшиков-е5ь
@АндрейМеньшиков-е5ь Жыл бұрын
прихожу после уроков Нетологии как к репетитору- сюда ! Вы просто мега-мозг, Сергей!
@DmitryDolganov
@DmitryDolganov 5 жыл бұрын
Класс! Сергей, спасибо!
@piotrusyi
@piotrusyi 3 жыл бұрын
Благо дарю!
@БогданаДана-у4р
@БогданаДана-у4р 4 жыл бұрын
Спасибо за урок!
@АртёмРудницкий-д5ъ
@АртёмРудницкий-д5ъ 3 жыл бұрын
Большое спасибо за урок! Правда, пересмотрел очень много всяких разных, но вы рассказываете на очень высоком уровне! Всё предельно ясно и чётко, отдельно хотелось бы сказать за подробности и за то, что регулярно проговариваете всякие мелочи и вроде бы простые и очевидные вещи, которые уже могли обсуждаться в прошлых уроках. Это очень важно, потому что именно постоянное упоминание и осознанное их использование делает их простыми :) Подскажите только один момент, пожалуйста, я мог прослушать, классы Point и Test можно назвать в данном случае дружественными? Что определяет дружественные классы, их упоминание друг в друге? Заранее спасибо за ответ! =)
@distraw1753
@distraw1753 4 жыл бұрын
Очень понятно... благодаря вам)
@olegbocharnikov950
@olegbocharnikov950 6 жыл бұрын
ЭТО КРУТОО !!!!! Я В УДАРЕ #include"pch.h" #include #include #include using namespace std; /* дружественные функции */ class point; class test { public: private: int data = 0; friend void changex(point & value, test & testvalue); friend int dostup(point & value, test & testvalue); }; class point { //доступно всем public: //недоступно private: int x; int y; int z; /* разрешить данной функции быть дружественной она работает в абсолютно любых полях класса */ friend void changex(point & value,test & testvalue); /* разрешить данной функции быть дружественной она работает в абсолютно любых полях класса */ friend int dostup(point & value,test & testvalue); }; // разрешенная дружественная функция void changex(point & value, test & testvalue) { value.x = rand()%100; value.y = rand() % 100; value.z = rand() % 100; testvalue.data ++; } int dostup(point & value,test & testvalue) { cout
@СергейПетров-б1ф
@СергейПетров-б1ф 4 жыл бұрын
Спасибо, все понятно!
@sgimancs
@sgimancs 5 жыл бұрын
Идеальное качество рус. уроков для плюсов и ООП. Поэтому дизлайки здесь не возможны с учетом соотв. уровня автора.
@ylikitishnik1946
@ylikitishnik1946 3 жыл бұрын
крутая эта вещь а вам спасибо за урок
@ИванКозловский-ш9н
@ИванКозловский-ш9н Жыл бұрын
Привет из 2023, Спасибо большое за уроки!
@vladimirdiadichev6140
@vladimirdiadichev6140 7 жыл бұрын
Спасибо
@ohgrac
@ohgrac 6 жыл бұрын
Спасибо за урок
@wasony.126
@wasony.126 4 жыл бұрын
От души 👍👍👍
@pavelios3577
@pavelios3577 6 жыл бұрын
Спасибо.
@kabanenko5319
@kabanenko5319 3 жыл бұрын
Ти крутий мужик!
@aleksandrdrobyshev7623
@aleksandrdrobyshev7623 4 жыл бұрын
@SimpleCode сколько уже народу подписалось на 1$? Иду подписываться.
@МарияСултанбекова
@МарияСултанбекова Жыл бұрын
спасибо!!
@Kokurorokuko
@Kokurorokuko 3 жыл бұрын
Я понимаю, что это очевидно, наверное, но если что, необязательно в дружественную функцию передавать параметром объект. Можно в ней создать экземпляр класса и поля так же будут доступны. Просто Сергей не уточнил это. Это будет выглядеть так: class MyClass { ... friend void Foo(); private: int size; ... }; void Foo() { MyClass obj; obj.size = 5; }
@ДмитрийНормов-ю6ц
@ДмитрийНормов-ю6ц 2 жыл бұрын
а разве объект - это не экземпляр класса?
@roflkek6901
@roflkek6901 2 жыл бұрын
Не очень много смысла в твоем коде, конечно, хотя бы возвращай объект тогда, который создал
@blackgolddev4023
@blackgolddev4023 5 жыл бұрын
Вы лучший. А вы где нибудь препадаете? Хотел бы стать вашим учеником
@MySkiFFFRuler
@MySkiFFFRuler 7 жыл бұрын
#SimpleCode, спасибо за уроки, они очень полезны для новичков. Хотел спросить по Patreon. Может ты введешь там разные плэджи? Например: 5$ - посмотрю и оценю ваш код 10$ - Дам вам лучшую по моему мнению литературу( которая даст определенный буст в развитии). 20$ - Проведу урок 1х1, скажу над чем работать. 40$ - ... и т.д. Еще раз спасибо за уроки, очень подробно и понятно.
@SimpleCodeIT
@SimpleCodeIT 7 жыл бұрын
Спасибо за совет. Но пока нет смысла делать нечто подобное, да и не знаю будет ли вообще, так как поддержать канал даже суммой 1$ выразил желание только один человек.
@SaffronChipMCPE
@SaffronChipMCPE 4 жыл бұрын
@@SimpleCodeIT как успехи?)
@SaffronChipMCPE
@SaffronChipMCPE 4 жыл бұрын
@@SimpleCodeIT пока из-за коронки денег нет :< хочу выучить c++ и некоторые библиотеки, и написать свою игру, и выложить в Steam. Может, хоть какой заработок будет и, наконец, смог полписаться на Patreon :>
@frazismert3071
@frazismert3071 Жыл бұрын
@@SaffronChipMCPE ну и как?
@ahmadum
@ahmadum 4 жыл бұрын
Лайк не глядя
@FyUajYpUlM39
@FyUajYpUlM39 3 жыл бұрын
То бишь, если у нас есть функция, которая используется в нескольких классах, то благодаря этой фиче можно не прописывать её в каждом из них, а вынести отдельно, оставив внутри классов только её прототип, верно? Удобно.
@princessmary5556
@princessmary5556 Жыл бұрын
Вы написали какую то чушь. Вообще не понятно, какое отношение ваш пост имеет к дружественным функциям.
@MeGaFaLLout
@MeGaFaLLout 7 жыл бұрын
Здравствуйте Сергей! Позвольте задать 1 вопрос. Если я посмотрю все ваши 88 выпусков по программированию на C++,то могу ли я назваться хотя-бы junior-ом? Практика и пересмотр уроков входят в вопрос.
@НиколайПокровский-р6в
@НиколайПокровский-р6в 7 жыл бұрын
Как правило, сейчас С++ в чистом виде уже не использует никто, как минимум для juniora нужно знать какие то фреймворки или библиотеки, с которыми придется работать в конкретной области
@MeGaFaLLout
@MeGaFaLLout 7 жыл бұрын
Спасибо за информацию!
@SimpleCodeIT
@SimpleCodeIT 7 жыл бұрын
Николай всё правильно ответил. Мои уроки это лишь база, но без которой никуда.
@НиколайПокровский-р6в
@НиколайПокровский-р6в 7 жыл бұрын
А если хочешь работать программистом зная язык в чистом виде, то учи java, C#....больше не скажу, сам пока недопрограммист, но С++ в любом случае лишним не будет, при том, что тут подача материала реально классная
@deniskozak5997
@deniskozak5997 7 жыл бұрын
Так а после прохождения базы чем можно заниматься? Чтобы идти на работу хотя бы джуниором нужно уметь работать в каком-то фреймворке ? Например тот же Qt? Можете ответить, просто без понятия куда двигаться после курса дальше и что изучать, везде на форумах пишут про разные библиотеки, фреймворки и т.п .
@Александр-й2в2о
@Александр-й2в2о 5 ай бұрын
Блин! Столько мыслей... А можно ли описывать внутри класса, создание другова класса Xd И типа методы другова класса делать дружественными? Также интересно, можно ли реализовать для слова friend некую выборку дружественных функций через массив, и чтобы они время от времени менялись ... Пожалуй не буду забегать в перёд... Просто ведь доступ к полям нашего класса получать по идеи нельзя с одной стороны, но с другой \._./ Ведь любой программист может описать дружественную функцию типа или внести изменение, типа:эта функция теперь дружественная и менять наши значения в полях ;| Думаю я слишком много думаю об этом... Поэтому \._./
@borisermolaev3158
@borisermolaev3158 6 жыл бұрын
Поставь восьмибитного музла на фон.
@Mastodon99
@Mastodon99 4 жыл бұрын
есть ошибка : в конце компилятор ругается на testValue : использование не определеного типа Test. !!!
@MrJustSergei
@MrJustSergei 4 жыл бұрын
А как компилятор определяет эти буквы a, b ?
@Alex_Suvorov
@Alex_Suvorov 9 ай бұрын
функцию надо ниже классов сделать, и всё будет работать
@temshik.invalid
@temshik.invalid 3 жыл бұрын
8:50
@ДмитрийНормов-ю6ц
@ДмитрийНормов-ю6ц 2 жыл бұрын
что там ?
@saltanatalimbekova9479
@saltanatalimbekova9479 6 жыл бұрын
Здравствуйте! Зачем делать поля объекта private? Можно же поля оставить public?
@i_interface4643
@i_interface4643 6 жыл бұрын
Инкапсуляция.
@nailtagiyev6340
@nailtagiyev6340 5 жыл бұрын
Чтобы другой пользователь не смог к ним притронуться
@nikitasuyazov2060
@nikitasuyazov2060 6 ай бұрын
Почему не работает "test.Print();"? Нет доступа к полю Print(). Но "a.Print();" работает. Не понимаю, как вывести в консоль значение в переменной test. Потому что функция Print() написана для класса Point и хранит 2 значения x и y. А класс Test хранит значение Data.
@nikitasuyazov2060
@nikitasuyazov2060 6 ай бұрын
Надо для класса Test так же прописать функцию Print(): class Test { public: void Print() { cout
@ПоПлодамУзнаетеИх
@ПоПлодамУзнаетеИх 6 жыл бұрын
Это уже было сложно! реально сложно! спасибо!
@koji_the_freak9181
@koji_the_freak9181 3 жыл бұрын
Я ведь правильно понимаю что при наследовании нужно будет учитывать модификатор доступа к дружественной функции?
@princessmary5556
@princessmary5556 Жыл бұрын
Нет. Вы не правильно понимаете. Не существует никаких "модификаторов доступа к дружественным функциям".
@olegbocharnikov950
@olegbocharnikov950 6 жыл бұрын
это можно так и к 3 и более классам обратиться
@johnwick8332
@johnwick8332 7 жыл бұрын
а могли бы объяснить как вывести еще значение дата в консоль, имхо выводиться только "х" и "у"
@book_riot
@book_riot 9 ай бұрын
Наверное, уже не актуально..но если что - могу подсказать)
@ИНФОРМАЦИЯДЛЯУСПЕШНЫХ
@ИНФОРМАЦИЯДЛЯУСПЕШНЫХ 5 жыл бұрын
Spsb
@dactill
@dactill 5 ай бұрын
чёт не работает, член point x недоступен, хотя friend написал для него.
@Viamsupervadetvadens
@Viamsupervadetvadens 7 жыл бұрын
up
@nailtagiyev6340
@nailtagiyev6340 5 жыл бұрын
Чи или не чи?
@НиколайОвчинников-д6э
@НиколайОвчинников-д6э 2 жыл бұрын
+++++
@Antonov_Ivan.
@Antonov_Ivan. Жыл бұрын
Спасибо за урок!
@АлександрЛитвинюк-х2ы
@АлександрЛитвинюк-х2ы 4 жыл бұрын
Спасибо за знания!
@ЯрославГоловко-ф6и
@ЯрославГоловко-ф6и 4 жыл бұрын
спасибо
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 30 МЛН
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН
Леон киллер и Оля Полякова 😹
00:42
Канал Смеха
Рет қаралды 4,7 МЛН
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
Всё об указателях в C++ за 20 минут
20:00
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 30 МЛН