Friend functions and classes in C++ (Programming for beginners)

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

КОМЕНТАРІ •

  • @CodeBeauty
    @CodeBeauty  2 роки тому +64

    📚 Learn how to solve problems and build projects with these Free E-Books ⬇️
    C++ Lambdas e-book - free download here: bit.ly/freeCppE-Book
    Entire Object-Pascal step-by-step guide - free download here: bit.ly/FreeObjectPascalEbook
    🚀📈💻🔥 My Practical Programming Course: www.codebeautyacademy.com/
    Experience the power of practical learning, gain career-ready skills, and start building real applications!
    This is a step-by-step course designed to take you from beginner to expert in no time!
    💰 Here is a coupon to save 10% on your first payment (CODEBEAUTY_YT10).
    Use it quickly, because it will be available for a limited time.
    Homework solution:
    #include
    #include
    #include
    using namespace std;
    class UA-camChannel {
    string Name;
    int SubscribersCount;
    public:
    UA-camChannel(string name, int subscribersCount) {
    Name = name;
    SubscribersCount = subscribersCount;
    }
    bool operator==(const UA-camChannel& channel) const {
    return this->Name == channel.Name;
    }
    friend ostream& operator

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

      I figured you'd have to use public access for much of the classes - otherwise I'd be making int main() a friend along with making the classes friends of each other, and even then I'd get an error with == operator being private due to a context of some sort of access inability in a template in a file called 'list.tcc'.
      I'm guessing my approach of not using public access at all would have been impossible?

  • @StreuB1
    @StreuB1 2 роки тому +68

    You are so amazing with this stuff, Saldina. I just completed my C++ for Engineers and Scientists class and nailed a 95.6% for the class. I owe at least part of that to your great videos. And now that I know classes, I can understand this topic which he never did in my class. Thank you!!!! 😀

  • @joonbeomkim9898
    @joonbeomkim9898 10 місяців тому +2

    I have watched three different videos of friend functions on UA-cam and you are absolutely the best. You explains in details why we need to use friend functions and when to use them. I subscribed you and will keep watch your videos! You're very talented teaching c++.

  • @pavankumarnitta0329
    @pavankumarnitta0329 2 роки тому +24

    Can you please post a full detailed long video on below two topics:
    Data structures using C++
    STL using C++

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

    Finally found the ultimate teacher...
    So concrete and so useful. You're the best...

  • @kristinarakic705
    @kristinarakic705 2 місяці тому +1

    You made my preparation for the exam easier and less stressful. Thank you for the good work!

  • @eric-jt
    @eric-jt 2 роки тому +6

    I come to your channel everyday to learn something new. Thanks!

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

      I'm happy to hear that, cheers 🥰🥰

  • @muha0644
    @muha0644 2 роки тому +14

    When you finish making all the beginner videos, you should make some videos about Qt 6. It's more advanced and _way_ more capable, and it's relatively easy to use.
    Personally I love programming with Qt, since it just lets you do everything your way and it has a very deep connection with C++ (they "invented" a lot of the things in stdlib today like smart pointers etc...). I particularly find the concept of signals and slots amazing for multi-threaded programs. While it is mostly used to make GUI apps, you can also just make CLI programs that work really well.
    If you don't know anything about qt, then make it your new years resolution to learn it. I guarantee you won't regret it.
    Sretna nova godina!

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

    One of the most clear explaination of Friend function on the internet.

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

    Thanks a lot for those awesome videos!! I used to learn C++ and it was too hard for me so I gave up. After watching your tutorials, your excellent and outstanding work has given me confidence in learning C++ and interest in programming again. You are an excellent teacher and a role model for me on the way to learning code. Now I think the code is really cool, I also hope to become a programmer one day. Thank you again for everything.

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

    I'm in love with this channel, and even if I'm not fluent in english I can understand you pretty clearly.

  • @sourabhsingh192
    @sourabhsingh192 8 місяців тому +1

    she cleared the concept very clearly, good work

  • @yoselinnicole3422
    @yoselinnicole3422 3 місяці тому

    thank you so much, I watched 1000+ videos and they never explain everything in so much detail!!!

  • @sravankumpati6564
    @sravankumpati6564 11 місяців тому

    Hi, thank you for your outstanding videos. Very helpful and refreshing.
    In C++, a function can be designated as a friend of a class, allowing it to access the private and protected members of that class. This friendship can be established in three ways: a stand-alone function, a member function of another class, and a separate class.
    In your last example, you mentioned that a member function of another class cannot be declared as a friend. To clarify, it is indeed possible to declare a member function of another class as a friend. What was likely meant is that a member function of a class cannot be declared as a friend of the same class it belongs to.
    In the context of friend functions, the typical scenario is to declare a stand-alone function or a member function of another class as a friend of a class, enabling it to access the private and protected members of that class. If you need to provide friend access specifically for a member function of another class, you can achieve this by declaring the entire class as a friend, not just the individual member function.
    Would you please clarify?, thank you.

  • @aritramajumder4982
    @aritramajumder4982 2 роки тому +10

    Hey Saldina, your lessons are greatt 😁. And one thing, I guess it's called perimeter, circumference is perimeter of circle...

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

    You are the best teacher ever. Thanks for reminding me how beautiful programming is. *_*

  • @quasirdp
    @quasirdp 2 роки тому +6

    Another way, to have firend function,
    #include
    using namespace std;
    class Base;
    class BaseFriend {
    public:
    void printResult(Base& b);
    };
    class Base {
    private:
    float a;
    float power = 0;
    public:
    void setA(float l) {
    a = l;
    power = a * a;
    }
    friend void BaseFriend::printResult(Base&);
    };
    void BaseFriend::printResult(Base& b) {
    cout

  • @SergiuMuntean-q5n
    @SergiuMuntean-q5n Місяць тому

    God bless you, Saldina! You are so good at explaining these concepts.

    • @CodeBeauty
      @CodeBeauty  Місяць тому +1

      currently I'm focused more on teaching C# because there is higher demand for C# developers, so you might wanna check my Practical Programming Course at www.codebeautyacademy.com
      We are building real C# application and you will be learning alongside other students, with me as your personal tutor. With this you will also gain access to exclusive Discord community.
      I'll be happy to have you there. :)

  • @rajnishsingh1348
    @rajnishsingh1348 2 роки тому +5

    mam its my first time to watch your video .
    your explanation is great, thank you for this type of useful videos
    love from INDIA

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

    Awesome stuff, thank you for helping me brush up on my OOP skills.

  • @mariacunha8508
    @mariacunha8508 6 місяців тому

    Wow, I love how you can make a topic seem so simple and easy to understand!!! Love it!

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

    Imas svoj stil, objasnjavas jasno i detaljno. Puno truda ulazes u svaki video i to se vidi. Hvala jos jednom.
    :)

  • @Ayush-qn7hy
    @Ayush-qn7hy 2 роки тому +4

    Saldina how about a code review series? We would love to send you our C++ projects 🙂 and would love your reaction on it.

  • @Loki-vy5vg
    @Loki-vy5vg Рік тому +1

    you said creating getters is not a good solution because, everyone would be able to excess the class variables using getters, but the same thing is true for a friend function also, everyone can still access them now using friend function.

  • @sangeeth.47
    @sangeeth.47 9 місяців тому +1

    ❤ Really Appreciate the efforts... Explained a lot of better than teaching in my university.

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

    I finally understand them...thanks!

  • @kavyag6326
    @kavyag6326 Рік тому +2

    Hi Saldina, Can you please make a video on using friend classes with a forward declaration for the Google test without altering the source code?

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

    Hey, waiting for the premiere ,lots of appreciation and thanks for teaching us.

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

    we have not called PrintResults function yet, and walso we have to pass the et object as the parameter... God bless you!

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

    Great Job! I learnt alot today, and I am grateful.🙂

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

    I choose to stay not only because you're amusing (haha) also because you explain the concepts very well, step by step and logically.

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

    great video , love from South Africa

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

    You need to use this pointer when setting the length in setA function . It is a good practice!

  • @isaacl.quelemine8775
    @isaacl.quelemine8775 2 роки тому +2

    I ready do admire your teaching always
    You’re quite amazing 😻 .

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

    Thank You! You explained it way better than how my book tried to! 👍👍👍

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

    Thank you so much for the videos. They are very helpful. The way you are explaining from basic level followed by intermediate level is very helpful. Also, please make the videos on advanced concepts and incorporating security measures (like buffer overflow) in C++ code. Also, kindly post videos very frequently.

  • @Anclavijo85
    @Anclavijo85 5 місяців тому

    Hi Saldina first of all, your videos are great and well explained, question, what is the differences between friends class and Inheritance what are the benefits of using friends over Inheritance?

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

    Excellent explanation, ty so much!

  • @a.yildiz6866
    @a.yildiz6866 Рік тому

    Could you please make a video about when we should use "const", and when should we pass by const reference or by value.. Thank you!

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

    Wow so nice I completed Your OOP C++ video and I was about to learn friend function and your uploading a video so nice thank you Ma'am

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

    I am studying c++ for months and i couldnt understand anything and i was afraid of my midterm exam but i feel like i am starting to understand so thank you so much (ps: your diction is very good so i can understand easily even though i am not native in English and also you speak sincerely so I don't start daydreaming in class and I listen carefully :) . Thanks again)

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

      Please view Bro Code videos too. It's very detail course with real examples.

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

    Thanks alot for these kinda outstanding videos, it means alot to me (student)

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

    The reason the PrintResults function won't work is because you made it a member of the Homework class. So to access it you would have to use to dot operator after making an object of the homework class.

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

    Instead of circumference it's called perimeter! Great videos thanks 👍

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

    Hello, thank you for this great job. Could you please do a tutorial about modern C++ (like C++11 and more). Thank you in advance ☺️

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

    Wholesome programming content indeed 😊

  • @lilgohan
    @lilgohan 11 місяців тому

    thank you for updating to dark mode

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

    Really very instructive lecture !
    Thank you

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

    You used a Brazilian meme hahaha. I'm from Brazil. Excellent content, thank you.

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

    // friend functions
    // #include
    // using namespace std;
    // class Triangle{
    // private:
    // int side_length, circum;
    // public:
    // void set_side(int a){
    // side_length=a;
    // circum=side_length*3;
    // }
    // friend void PrintResults(Triangle); //no need to specify parameter name....parameter type is enough
    // };
    // void PrintResults(Triangle obj){
    // cout

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

    9:40 - You forgot to call the function :D

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

    Hello from Philippines!

  • @franktan9937
    @franktan9937 7 місяців тому +1

    your lessons are great

  • @nastaranhendijani681
    @nastaranhendijani681 8 місяців тому +1

    thank you, very helpful!

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

    incredible work!

  • @кяѕниѕняи
    @кяѕниѕняи Місяць тому

    I am happy to see that i am not the only one who forget basic mathametics while i am wriing some code. 😁😁

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

      oh it happens to me on daily basis :)

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

    Share it with your friends, but she told us to be careful to choose friends and friends don't inherit and friendship isn't mutual, so basically now I haven't friends to share it. 😔

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

    excellent video, the humour was also good.

  • @victordedon3917
    @victordedon3917 2 роки тому +42

    Thou shall not fall in love with your teacher 😭😭😭😭

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

    Merry chrismas and happy new year.

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

    The results from a calculator and this program for the area is different. Quite similar, yet big gap. Why is that? How is float rounding?

  • @glitchmaster8890
    @glitchmaster8890 21 день тому

    ngl i never comment but your actually really good at explaining

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

    Hi, Saldina! good morning according to Afghanistan Time Zone. thanks a lot from this lecture also i was a little bit worry about you because you wasn't present on your social media.so I wish from GOD to help you what something wrong happened with you to solve As soon As possible.

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

    Thankyou saldina.

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

    what keyboard you are using, sounds fantastic

  • @kubolor1234
    @kubolor1234 4 місяці тому

    Suspenseful stuff...absolutely blindsided by the area of triangle formula 🤣

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

    best teacher😻🙂

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

    Dear Saldina, i am trying to find in your channel a video of getter and setter but i can't find it anywhere.If you made a video explaining them can you please send me the link ? Have a nice day ! And thank you for your videos i understand everything you say and it's very helpful :)

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

      those are parts of Encapsulation, here are videos for both C++ and C#
      ua-cam.com/video/vQ6k1U6nADY/v-deo.html
      ua-cam.com/video/a8ZB-TPB6EU/v-deo.html

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

      @@CodeBeauty thank you !!!!
      Have a nice day :)

  • @TrailVapor
    @TrailVapor 4 місяці тому

    a problem with using friend functions is that they are not as optimizable or as self documenting as comprehensive getters & setters.

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

    excelent . thanks . i download all your videos. thanks

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

    Would it be possible to post .txt with your UA-cam videos, it would be easier to follow along?

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

    you are just awesome😇 I love the way you teach😄👌

  • @bubble_gum_witch
    @bubble_gum_witch 6 місяців тому +1

    thanks so much❤

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

    What is the advantage of friend function over friend classes ???

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

    Hey!
    Is it a good idea to pass a parameter to the friend function by the constant reference?

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

    I love your contant and your stille in explain

  • @ahmadahmad-ug8ls
    @ahmadahmad-ug8ls 7 місяців тому +1

    u are a legend istg

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

    Can we access a friend function, friend member function and friend class in a same program?

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

    awesome! thanks for share!

  • @محمدسيدالكوميالكومي

    Please, could you explain a data structure type that is called a graph or tree Thank you very much

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

      Would you like me to link you some resources I've found helpful?

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

    Amazing ve beneficial videos, thanks ...

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

    Good job, thanks 👍

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

    4:10 I watched that part like 5 times... so cute haha

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

    I actually did stay because you are extremely amusing 😂

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

    Mam, I want to develop an application for laptop functionality testing. I am new to c++, which tool I can use

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

    mam plzzzzzzzzzzzz 🙏🏽🙏🏽🙏🏽🙏🏽🙏🏽🙏🏽🙏🏽 make video on aggregation and composition in C++

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

    Great mam.
    Where are you from

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

    thank u very much princess

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

    I thought about it carefully and I want you to be my friend.

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

    04:15 Fun fact, this meme isn't Julia Roberts

  • @minhhungle7488
    @minhhungle7488 10 днів тому

    C++ friend is just something not in the human world. Its advanced uses are far too complex! For example you have to friend the outer class before friend-ing the inside class if it is declared in private or protected field of the outer class, you cant friend other class's member function before the class is define, you have to let class A friend class B in order to let B friend a private member function of A! That was just a few😅

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

    You’re amazing 🤩🤩🤩🤩🤩

  • @ZiaurRehman-ex3of
    @ZiaurRehman-ex3of 6 місяців тому +1

    now printresult is not a global function
    that's why it give error

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

    Thank you

  • @salmonsushi47
    @salmonsushi47 5 місяців тому

    3:00 perimeter not circumference

  • @vinicius.schmidt
    @vinicius.schmidt 2 роки тому

    great content!

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

    Nice work

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

    THANKS!!!

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

    you are the best

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

    I saw friend classes used very badly in 3dsmax years ago. So I am not a fan of this C++ feature. C# got rid of the feature btw.

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

      you like C#?
      check my Practical Programming Course at www.codebeautyacademy.com
      We are building real desktop application and you will be learning alongside other students, with me as your personal tutor. With this you will also gain access to exclusive Discord community.
      I'll be happy to have you there. :)