How to implement dynamic binding (i.e. dynamic polymorphism) with virtual member functions in C++. Source code: github.com/por.... Check out www.portfolioc... to build a portfolio that will impress employers!
Пікірлер: 18
@dwivedys8 ай бұрын
This is the best video on static and dynamic polymorphism I have seen among here on YT
@FluxSentor Жыл бұрын
This was such a boon to find. I've been lurking for a while since starting school for computer science. You've really been a help, thanks for explaining so many topics!
@PortfolioCourses Жыл бұрын
You're welcome, I'm really glad to hear the videos have been helpful! :-)
@MohitRaj-17122 жыл бұрын
Your videos on OOP topics help me a lot.
@PortfolioCourses2 жыл бұрын
I'm very glad to hear that they help you Mohit, thank you for sharing that! :-D
@visual_NN5 ай бұрын
very impressive!🥰
@CrabRango10 ай бұрын
Would you only need to apply the virtual keyword to the base class member function? Or are there cases in which you would need to apply it to derived class member functions?
@ValliNayagamChokkalingam Жыл бұрын
Thanks! I thought that polymorphism just meant that the derived class could be used to access member functions and variables of the parent class. So, in our array with student object pointers, when we create space for medical student object instances, is space for all the member variables of medical student allocated or just the name variable? Thanks! Also, if a function returns a reference to something like "&int add()", just returning an int in the actual function's code is enough right? The compiler will convert the returned int to an int reference, right?
@PortfolioCourses Жыл бұрын
Space for all the member variables will be allocated. If you try returning a constant int like '5' from a function "int& add()" then it should produce an error.
@shafayet01982 жыл бұрын
why polymorphism does not work if I make the array on the stack instead of on the heap?
@PortfolioCourses2 жыл бұрын
That's a really good question Akash but the answer may be a bit long for a commnet. Some of these answers here explain why polymorphism works with pointers/references: stackoverflow.com/questions/15188894/why-doesnt-polymorphism-work-without-pointers-references. :-)
@shafayet01982 жыл бұрын
@@PortfolioCourses I'm still not fully clear, I would be grateful if you made a video to clarify this topic
@PortfolioCourses2 жыл бұрын
@@shafayet0198 Maybe one day I can do that! 🙂
@shafayet01982 жыл бұрын
if I have a chain of drive class like a semi-diamond and the very bottom class has the base class 3 times do I have to use virtual in all the drived class?
@PortfolioCourses2 жыл бұрын
My understanding is that in the derived classes, the member functions will be virtual whether we use virtual or not because they are virtual in the base class: stackoverflow.com/questions/58042421/c-multi-level-inheritance-with-virtual-functions.
@shafayet01982 жыл бұрын
@@PortfolioCourses I was not taking about that , I meant ambiguity problem. #include using namespace std; template class sim_calculator { public: T x, y; void get() { cout > x >> y; } void calculate() { cout
@germankoga8640 Жыл бұрын
So basically what the virtual keyword does is override the default behavior of a base class function so when polymorphism is in place child clases use their own versions?
@PortfolioCourses Жыл бұрын
Yes, that's basically the idea. The virtual keyword allows derived classes to override the behaviour of the virtual base class method to achieve dynamic aka "runtime" polymorphism. :-)