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

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 มิ.ย. 2024
  • 📚 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.
    👉 Download Visual Assist here: bit.ly/VisualAssistDownload
    (Improves Visual Studio experience by quickly identifying and fixing code errors)
    In programming, like in real life, exists the concept of friendship. In the same way that your friends in real life can access private areas of your life (that are inaccessible to other people), in programming, a friend function or a friend class can access private and protected members of a specific class.
    In this video, you'll learn how to work with friend functions and classes, friend functions and classes common uses, as well as the most important tips related to friend functions and friend classes.
    And at the end, you can find a homework task in order to practice programming on your own.
    The solution for that task will be pinned in the comment.
    ☕ If you've found my content helpful and would like to support me, you now have the option to buy me a coffee or a cookie! It's a small gesture of gratitude that means a lot to me and helps me keep creating free educational videos for you. You can use the link below to make a contribution: bit.ly/CodeBeauty_BuyMeACoffee
    However, please don't feel obligated to do so. I appreciate every one of you, and I will continue to share valuable content with you regardless of whether you choose to support me in this way. Thank you for being part of the Code Beauty community! ❤️😇
    Contents:
    00:00 - What are friend functions
    00:52 - Best extension for Visual Studio C++
    02:10 - Let's create a problem
    07:19 - Solving the problem with friend functions
    10:37 - Multiple friend functions
    11:28 - Friend classes
    14:48 - Important tips about friend functions and classes
    16:22 - Homework (operator overloading and friend functions)
    Videos mentioned in this tutorial that you should watch:
    Must know Visual Assist features - • My top 5 Visual Assist...
    Encapsulation - • C++ OOP - What is enca...
    Inheritance - • C++ OOP - What is inhe...
    Operator overloading - • C++ Operator Overloadi...
    Add me on:
    Instagram 📸 - / truecodebeauty
    Twitter 🐦- / truecodebeauty
  • วิทยาศาสตร์และเทคโนโลยี

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

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

    📚 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 TH-camChannel {
    string Name;
    int SubscribersCount;
    public:
    TH-camChannel(string name, int subscribersCount) {
    Name = name;
    SubscribersCount = subscribersCount;
    }
    bool operator==(const TH-camChannel& channel) const {
    return this->Name == channel.Name;
    }
    friend ostream& operator

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

      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 ปีที่แล้ว +62

    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 5 หลายเดือนก่อน +2

    I have watched three different videos of friend functions on TH-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 ปีที่แล้ว +21

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

  • @eric-jt
    @eric-jt 2 ปีที่แล้ว +4

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

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

      I'm happy to hear that, cheers 🥰🥰

  • @jaja7830
    @jaja7830 9 หลายเดือนก่อน +1

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

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

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

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

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

  • @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.

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

    at 4:16 she used a brazilian meme... I like this !!!

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

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

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

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

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

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

  • @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!

  • @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 3 หลายเดือนก่อน +1

    she cleared the concept very clearly, good work

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

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

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

    I finally understand them...thanks!

  • @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

  • @ferfykins
    @ferfykins 4 หลายเดือนก่อน +1

    Excellent explanation, ty so much!

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

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

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

      🥰🥰

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

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

  • @isaacl.quelemine8775
    @isaacl.quelemine8775 2 ปีที่แล้ว +2

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

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

    Really very instructive lecture !
    Thank you

  • @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

  • @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.

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

    incredible work!

  • @pedrovinicius5128
    @pedrovinicius5128 11 หลายเดือนก่อน +1

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

  • @nastaranhendijani681
    @nastaranhendijani681 3 หลายเดือนก่อน +1

    thank you, very helpful!

  • @franktan9937
    @franktan9937 2 หลายเดือนก่อน +1

    your lessons are great

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

    great video , love from South Africa

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

    excellent video, the humour was also good.

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

    awesome! thanks for share!

  • @sangeeth.47
    @sangeeth.47 4 หลายเดือนก่อน +1

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

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

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

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

    Good job, thanks 👍

  • @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

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

    Merry chrismas and happy new year.

  • @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 ☺️

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

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

  • @sravankumpati6564
    @sravankumpati6564 6 หลายเดือนก่อน

    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.

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

    thanks so much❤

  • @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.

  • @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.

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

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

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

    excelent . thanks . i download all your videos. thanks

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

    Amazing ve beneficial videos, thanks ...

  • @vinicius.schmidt
    @vinicius.schmidt 2 ปีที่แล้ว

    great content!

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

    Hello from Philippines!

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

    I love your contant and your stille in explain

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

    Thankyou saldina.

  • @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?

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

    Thank you

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

    THANKS!!!

  • @a.yildiz6866
    @a.yildiz6866 10 หลายเดือนก่อน

    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!

  • @ahmadahmad-ug8ls
    @ahmadahmad-ug8ls 2 หลายเดือนก่อน +1

    u are a legend istg

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

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

  • @Loki-vy5vg
    @Loki-vy5vg 10 หลายเดือนก่อน +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.

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

    You’re amazing 🤩🤩🤩🤩🤩

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

    best teacher😻🙂

  • @lilgohan
    @lilgohan 6 หลายเดือนก่อน

    thank you for updating to dark mode

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

    what keyboard you are using, sounds fantastic

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

    Nice work

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

    thanks

  • @chrisv1459
    @chrisv1459 10 หลายเดือนก่อน

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

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

    thank u very much princess

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

    really nice

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

    you are the best

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

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

  • @aliali-xx8ur
    @aliali-xx8ur หลายเดือนก่อน

    THANKS

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

      You're welcome 🥰

  • @Anclavijo85
    @Anclavijo85 21 วันที่ผ่านมา

    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?

  • @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.

  • @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.

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

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

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

    I actually did stay because you are extremely amusing 😂

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

    What's theme you use

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

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

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

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

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

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

  • @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.

  • @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?

  • @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. 😔

  • @user-zo7mx6cm5t
    @user-zo7mx6cm5t 2 ปีที่แล้ว +1

    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?

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

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

  • @SalmonSushi47
    @SalmonSushi47 13 วันที่ผ่านมา

    3:00 perimeter not circumference

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

    Great mam.
    Where are you from

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

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

  • @ZiaurRehman-ex3of
    @ZiaurRehman-ex3of หลายเดือนก่อน +1

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

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

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

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

    ❤️❤️❤️

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

    👏👏👏👏👏

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

    Haha, 04:16 Brazilian meme --> Renata Sorrah brazilian actress!

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

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

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

      something similar ....... coincidence do happen wow.......

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

      disgusting

    • @dxshawn532
      @dxshawn532 8 หลายเดือนก่อน +1

      Victor are you saying you're gay?

    • @user-vz3cr8vu1n
      @user-vz3cr8vu1n 5 หลายเดือนก่อน

      Simp init

    • @zero-ui1ew
      @zero-ui1ew 8 วันที่ผ่านมา

      Nah u down bad

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

    damn, I had a question about this topic yesterday and I didn't know the answer :(

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

    4:05 :D It happens...

  • @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

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

    Like #700! Great video 👌

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

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

  • @Mahmoud.Shigor
    @Mahmoud.Shigor 2 ปีที่แล้ว

    IF YOU COULD PLEASE WORK ON ML AND AI WITH C++