السلام عليكم ورحمة الله وبركاته كيف الحال يا أخواني الأعزاء يا اخواني إن شاء الله في هذا الموضوع راح اتكلم ( إذا سمحتولي ) عن الـ OOP و شوية عن الـ Inheritance وكلنا نعرف عنها، لكن راح اتطرق إلى الـ virtual functions بالأخص بس قبل كل حاجة خلوني اعطيكم مقدمة بسيطة عن الـ Pointers to Objects لو مثلا كان عندنا كلاس بسيط بإسم MyClass ، عشان نعمل منه كائن نكتب التالي
MyClass someObject
MyClass* obPtr = new MyClass()
Base* ptr = new Derived()
class Base{public: void function() { cout << "This is from Base Class\n"; }};class Derived : public Base{public: void function() { cout << "This is from Derived Class\n"; }};
void main(){ Base *b = new Base(); b->function(); Derived *d = new Derived(); d->function();}
This is from Base ClassThis is from Derived Class
void main(){ Base *b = new Derived(); b->function();}
This is from Base
class Base{public: virtual void function() { cout << "This is from Base Class\n"; }};
#include <iostream>using namespace std;class Base{public: virtual void function() { cout << "This is from Base Class\n"; }};class Derived : public Base{public: void function() { cout << "This is from Derived Class\n"; }};void test(Base* anything) {anything->function();}void main(){ Base* p = new Base(); test(p); p = new Derived(); test(p);}
void doWithdrawl(Account* ob) { ob->withdrawl(); }