How and why to use virtual destructors in C++, including why they are very important to prevent memory leak bugs. Source code: github.com/por.... Check out www.portfolioc... to build a portfolio that will impress employers!
Пікірлер: 21
@Lee13Mac5 ай бұрын
Should the delete call within each class destructor be changed to delete[ ], given that new[ ] was used to allocate memory for the integer arrays?
@variancewithin Жыл бұрын
your videos are criminally underrated.
@PortfolioCourses Жыл бұрын
I'm glad you think so! :-)
@wlcrutch2 жыл бұрын
Dude, thank you! Super clear! 🙏🏻🙏🏻🙏🏻
@PortfolioCourses2 жыл бұрын
You're welcome! :-)
@jaissonmonteiro923210 ай бұрын
Sorry my English, I am Brazilian 😅 anyway thanks for c++ tutorial playlist, I am learning so much with it 🤝👏🚀
@PortfolioCourses10 ай бұрын
Awesome! :-)
@snowandl41952 жыл бұрын
I think you're like Bob Ross but in programming
@PortfolioCourses2 жыл бұрын
Hahahahaha that makes me really happy that you would say that! :-D I actually love having a Bob Ross video on in the background when I'm programming.
@shafayet01982 жыл бұрын
can we use delete [] array; to free the array instated of a loop?
@PortfolioCourses2 жыл бұрын
Great question Akash! :-) Because we allocates space using new (instead of new []), we de-allocate the space using delete (instead of delete []). To do otherwise would result in undefined behavior in C++: stackoverflow.com/a/2425749.
@mihirjog27078 ай бұрын
So is it a good practice to have your base class destructors always virtual, even if you're not using polymorphism? So that if we're to use it in future, we'll be safe?
@Lee13Mac5 ай бұрын
I was thinking the same thing - my guess is that a downside of such a practice is the efficiency lost to dynamic binding over static binding in cases where dynamic binding is not strictly necessary.
@Emmanuel_Morris2 жыл бұрын
Thanks,Sir.🙌🏾
@PortfolioCourses2 жыл бұрын
You're welcome Emmanuel! :-)
@Vichained2 жыл бұрын
To be honest, I have watched this video many times but there is something that still doesnt make sense to me: Why would you create a derivedclass objetct using a Base class pointer? what would it be useful for?
@PortfolioCourses2 жыл бұрын
Polymorphism is the reason, it can allow us to have an array of pointers to different types of child objects, with a loop working through the objects and calling each object's member functions. The binding of those function calls can be dynamic, which means each object can have its own 'behaviour' according to its type. Writing code like this can allow us to remove code duplication, and though it may not seem like it, it can actually be more understandable code in the long run too! This video talks about polymorphism more: kzbin.info/www/bejne/Y3e4mXpvbc2Xgqs
@Vichained2 жыл бұрын
@@PortfolioCourses Now it makes sense. Thanks sir!