C++ Copy constructors (beginner-friendly tutorial + practical examples)
This is an OOP tutorial where I'll teach you about copy constructors in C++. After watching this video, you'll learn what is the purpose of copy constructors, understand how they work in-depth, as well as how to fix and avoid most common errors in your code caused by copy constructors.
I'll also share best practices and tips on how to write good Object-Oriented code, and we'll see some real-world examples and practical applications of copy constructors.
📚 Learn how to solve problems and build projects with these Free E-Books ⬇️
C++ Lambdas e-book - free download here: bit.ly/freeCpp...
Entire Object-Pascal step-by-step guide - free download here: bit.ly/FreeObj...
🚀📈💻🔥 My Practical Programming Course: www.codebeauty...
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/WT-CB
I use it to enhance the performance, features, and support for C, C#, and C++ development in Visual Studio.
Download Ultra Edit here: bit.ly/UE_CB
It is a powerful, secure text editor designed specifically for programmers.
👉 Download a 7-day free trial from the PVS-Studio website or get an exclusive 30-day fully functional license for free by entering the 'code_beauty' promocode or use this link:
bit.ly/PVS-Stud...
☕ 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/CodeBea...
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 - Explanation of the code that we will be using for this video
05:08 - Purpose of the copy constructor
05:51 - Common errors related to copy constructors
07:24 - Rules for implementing a copy constructor
08:51 - In-depth analysis of the copy constructor
12:57 - Visual representation of common Copy constructor errors
19:18 - 3 situations when a copy constructor is invoked
19:49 - Difference between Copy constructor and Assignment operator
25:59 - Learn programming with my Practical Programming course
Related videos:
Constructors 1: • C++ OOP (2020) - What ...
Constructors 2: • C++ OOP (2020) - What ...
Destructors: • Destructors in Program...
Dynamic arrays and Pointers: • C++ POINTERS (2020) - ...
Add me on other platforms for more educational content:
Instagram 📸 - / truecodebeauty
Twitter 🐦- / truecodebeauty
******CODE IS IN THE COMMENTS******
Пікірлер: 145
📚 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. ****CODE FROM THE VIDEO IS BELOW**** #include using namespace std; class Book { public: string Title; string Author; float* Rates; int RatesCounter; Book(string title, string author) { Title = title; Author = author; RatesCounter = 2; Rates = new float[RatesCounter]; Rates[0] = 5; Rates[1] = 4; } ~Book() { delete[] Rates; Rates = nullptr; } }; int main() { Book book1("Millionaire Fastlane", "M.J. DeMarco"); Book book2("C++ Lambda Story", "Bartek F."); cin.get(); }
@satyad620
Жыл бұрын
8:05
@satyad620
Жыл бұрын
8:05
@satyad620
Жыл бұрын
😊 8:05
@user-ww2lc1yo9c
6 ай бұрын
I came here for the copy constructor but kept looking at the breasts. I wish I could see more of them. Is there a way to do that?
can't wait for your course, your videos are the best, after months of struggling to understand programming, i now understand everything with your videos, and i even won a coding competition thanks to you
@I-SOY-SMART
Жыл бұрын
cool! congrats!
@saybalroy8393
11 ай бұрын
Hey!! Congratulation❤❤
Thanks for this video! Copy constructors was one of those things that was confusing for me. It's difficult to test for deallocated memory so I could never be sure whether or not I copied correctly without having memory leak.
I love how you explain c++❤ very clearly
BIG thank you for making this video!!!! Your videos are so comprehensive. I hope you will continue making a lot more good content like this. You truly inspired me
@CodeBeauty
4 ай бұрын
Thank you, I'm happy that my videos help, and I'm making new videos every week 😄😄
How on the earth you make your every elucidations too simple. I really appreciate it ❤
Very good video. I always enjoy watching your videos and being reminded of concepts that I haven't used in c++ that I haven't used in a long time since at work I've only been working on VB projects.
your videos helped me to finish university, I'm waiting for your practical programming course now to crash my internship. sending love for you codebeauty
Thanks for your video. Absolutely want to hear more about assignment operator or the Big Three. Appreciate that if you can also talk about deep copy vs shallow copy.
I love the content and the person as well
thanks very much, love your explanations. 👍🏿👍🏿
can't wait for your practical programming course saldina. i already signed in and i'm sure it will be amazing
Lovely channel... it's a value. Thank you very much indeed.....
Nice explanation of copy constructor!!
Thank you for your time
Best C++ tutorials
Very nice Saldina.
Amazing as always. thanks Saldina
I liove your channel......this is first class of work. Thank you v much .
Tricky, yet simple. Only because of your explanations. 💗💗
Happy New year Madam, After a long time again I started to watch your videos😊😉
@CodeBeauty
7 ай бұрын
Welcome back, and I also wish you a happy and prosperous 2024. 🥳🥳
Thanks! Nice to See you again. Greetings from Frankfurt/Main
will want to know more about assignment operator as well.
I gave up programming in c++ years ago ... You gave me hope to rethink my decision ....
Please make a video on assignment operator!
love your videos saldina and i'm sure your practical programming course will be amazing as well, i can't wait for it and thanks for the discount
Thank you, this video explained the topic with great detail compared to my textbook. I look forward to your future video uploads.
Thank you for your work. Love!)
Fantastic and to the point. Thank you!
It was really an awesome lecture on copy ctor, you cleared my all doubts in 1 go. i request you to please make a seprate video on copy assignment operator too, or diff b/w copy ctor and copy assignment operator!
thank you for this video dear saldina, when will your course be available, i already subscribed to the waiting list and i can't wait for it. love you so much, and thank you! 🥺❤
I 💕💕 your videos on c++
cant wait for your course saldina, I love your videos, they are the best
Amazing Explanation!!
U're amazing... U just make coding easy🥺❤️
Ok. Very nice.
it was an incredible section thank you very well for your efforts you are the best teacher that I ever seen
Thanks.
Thank you!
Thank you for your videos. It helps a lot!
my friend says its like: Hard to focus on code but learning and entertainment side by side;
@_rishi_ranjan
11 ай бұрын
😂 🤣 🤣
your channel best on youtube related to programming.
Your explanation is marvelous, as a beginner, I have a better knowledge about copy constructor. Thanks and please keep going
@CodeBeauty
Жыл бұрын
🥰❤️
completed the whole playlist. Best way of explaining oops.
Error: the argument to a copy constructor must be by reference. See standard in §12.8/3: A declaration of a constructor for a class X is ill-formed if its first parameter is of type (optionally cv- qualified) X and either there are no other parameters or else all other parameters have default arguments.
Thanks!
@CodeBeauty
Жыл бұрын
Thank you 🥰❤️
yes I searched a lot for the copy constructor why we use the reference in the argument of the copy constructor instead of the simple object .. but this video is really very good to understand it … thank you so much .. and please make the video on the assignment operator and the copy constructor in detail....please
Great example, thanks
@CodeBeauty Why the compiler not implitly provide a default copy ctor while there is only a custom constructor and a `Book(Book)` method is defined? If the compiler does so, the `Book(Book)` should work. See 11:25 of the video.
Plz make a video on move constructor
@CodeBeauty Why the compiler does not implicitly provide a default copy constructor to make the `Book(Book)` work? see 11:25 of the video.
i really love your videos! thank you for the content : D
Good explained! Do you have video or maybe you are going to prepare explanation of move constructors?
I would like to see the difference between copy constructor and assignment operator
@CodeBeauty
3 ай бұрын
I'll publish that video next week 😄
@jimpapay2895
3 ай бұрын
Thank-you, I never knew that. Pretty important information to know.
you are too good!!
Appreciated. I think it would have been even more helpful not using pointers, but demonstrating how you still need to do the copy constructors with modern C++.
Very well explained! Thanks for the video. Would it be possible to make a video about move constructor? Thanks!
thank you ....miss CodeBeauty Godbless you miss...
have you created any video for assignment operator? Please can you share the link
I am from indonesia ...i like learn this is chanell CodeBeauty ...
amazing video, thanks saldina
Умная и очаровательная девушка!
I think what you mean at min 12 is that you have a circular dependency, I already knew about that array trap, Can you do a follow up on the copy and move assignment operators
Well touch of cpp
you should definately do a move constructor video for instance, a move constructor: class A { public: std::vector v; std::string str; std::mutex m; A() { v.resize(100); str.resize(100); } A( A&& a) noexcept { v = std::move(a.v); str = std::move(a.str); } void printAddresses() { auto print = [&](const auto& c, auto pointer) { std::cout
please work hospital manegment system in c++
Awesome thanks ❤
Hi Saldina, I have already subscribed to you, and I want to copy assignment, move ctor and move assignment ctor video. Thank you for your hard work
do you have any videos on object compositions?
Hello saldina, please make an tutorial about constructor. Especial about konfig list. There are Things beyond assigning init values to member values and simple heritage . What does the Compiler do with Text between colon and curly bracket in Detail. I really found nothing about this speaking to me. Thanks a lot!!!! Manfred
i really can see ++
Could you pls make some videos on visual studio for developers so that they can be efficient while debugging and development.
Can you pls make a video about move constructor and move semantics its really hard topic for me to understand
How do you not have the default constructor? When I didn't my code have errors.
@CodeBeauty
4 ай бұрын
If you need a parameterles constructor but you don't have it, you'll get errors 😊
@BasitCeviriler
4 ай бұрын
@@CodeBeauty Isn't it essential?
what app you use for screen record and edit your youtube video
I dunno, I like the simplicity of just deleting the code that is causing my errors. 😂
question: Book 3; book 3 = b1; // this invokes the copy constructor right? thank you for the great video
@-aditheplatypus-9359
2 ай бұрын
The line "Book 3;" with the class example in the video called "Book" will create a book class named only 3, so it will give you an error when trying to assign it to b1. If the question you were reffering was with the code: Book book3; book3=b1; It would have invoked the copy constructor, even though it could have been written as "Book book3=b1;"
why does c or c++ even pass by value? Why not pass by reference all the time? what is the benefit of passing by value?
Life saviour ❤❤❤❤❤
I'm waiting for explain static members and functions please if you don't mind 🙏
You do explain very well. I have to say that. However, there is a missing part: copy constructor invokation during return by value. I guess the video was already too long.
Cool, when unit testing and ndk? 👻, pls🙏
Hallo Saldina , thanks very much for your tutorial it Help me a lot to understand the concept behind. My question is about the call by value & reference. You Said call by value send the copy to the callee function or variable, that one is okay for me , but when it come to call by reference, due to the fact that it passed the original to a function. What will hapen if the callee function modify the original and that somewhere in the Code other functions need the original value that had been modify. This Situation give me nightmare when working with large functions 😢😢😢. Thanks very much for your Help.
@HuyTran-ew4yq
11 ай бұрын
So to prevent the stuff you mentioned above, let use const keyword for the original.
a7ssen osstada f l3alam
@user-hq2pc5yz6p
8 ай бұрын
Wlah nadia
I want a video on data science.
how to do deep copy in this??@CodeBeauty
Error exception! Code not found! ;-)
i love what she is wearing
very good video , but it's hard to focus on the code when i see u
Saldina❤😍
😻😻😻
😻👍
Ohh shit i could not concentrate
@crazymemes4080
4 ай бұрын
Coz of two parameters ?
@sihamtenho
4 ай бұрын
@@crazymemes4080 😅😅😅
@subbuk9716
4 ай бұрын
Always looking at right corner..!!!!
@gaminglegend3313
3 ай бұрын
@@crazymemes4080 2 big reasons to watch her videos
@TheodorusAtheist-sx1un
2 ай бұрын
Me too 😂😂😂
Very good video, however I was pleasantly distracted 😉
@muhammadtahasarwar2110
Жыл бұрын
😉😉
@ted2704
Жыл бұрын
@@muhammadtahasarwar2110 You know what I'm talking about 👍
@muhammadtahasarwar2110
Жыл бұрын
@@ted2704 Oranges are pleasent and inviting especially in Summer; so yes they can be distracting
Watched 2 times but only focused on two things
@cristinaciui7192
2 ай бұрын
ur disgusting
a real smart beauty 😍🥰🤩
"Like this"
I usually watch tutorial videos in 2x. Not this one though ;)
👍👍👍👍👍👍👍
Line 16 - bad idea.