C ++ میں فنکشن اوورلوڈنگ اور اوور رائیڈنگ کو کیسے نافذ کریں؟



یہ مضمون آپ کو C ++ میں فنکشن اوورلوڈنگ اور اوور رائیڈنگ سے متعارف کرائے گا جو او او پی ایس کے دو اہم تصورات ہیں۔

C ++ ایک ہے فطرت میں اور یہ مختلف خصوصیات کا حامل ہے۔ اس سیشن میں ہم بحث کریں گے کہ C ++ میں فنکشن اوورلوڈنگ اور فنکشن اوور رائیڈنگ کو کیسے نافذ کیا جائے۔

اس مضمون میں مندرجہ ذیل اشارے کا احاطہ کیا جائے گا ،





اس مضمون کے ساتھ آگے بڑھتے ہوئے فنکشن اوورلوڈنگ اور سی ++ میں اوور رائیڈنگ

فنکشن اوورلوڈنگ



ایک ہی نام لیکن مختلف پیرامیٹرز والے افعال کی C ++ میں اجازت ہے اور کہا جاتا ہے فنکشن اوورلوڈنگ . اسے کمپائیل ٹائم پولیمورفزم بھی کہا جاتا ہے۔

مثال کے طور پر:

رقم (انٹ اے ، فلوٹ بی) جوہر (انٹ اےٹ ، انٹ ب) مجموعہ (انٹ اےٹ ، انٹ ب ، انٹ سی)

یہاں ، ایک ہی نام کے ساتھ تین افعال ہیں لیکن صرف ایک ہی چیز جو ان سے مختلف ہے وہ یہ ہے کہ ہر ایک کے پیرامیٹرز مختلف ہیں۔ لہذا ، منظور شدہ پیرامیٹرز پر انحصار کرتے ہوئے ، ایک فنکشن کہا جاتا ہے۔



اگر افعال کی واپسی کی اقسام مختلف ہیں تو اسے باطل سمجھا جاتا ہے۔

اس مضمون کے ساتھ آگے بڑھتے ہوئے فنکشن اوورلوڈنگ اور سی ++ میں اوور رائیڈنگ

فنکشن اوور لوڈنگ کے لئے نمونہ کوڈ

نام کی جگہ ایس ٹی ڈی کلاس کے اضافے کا استعمال شامل کریں {عوام: INT شامل کریں (INT N1 ، INT n2) {واپسی N1 + n2} int شامل کریں (INT1 N1 ، INT n2 ، INT n3) {واپسی N1 + n2} main INT مین (باطل) {اضافہ ایک چربی< 

آؤٹ پٹ

آؤٹ پٹ- سی ++ - ایڈوریکا میں فنکشن اوورلوڈنگ اور اوور رائیڈنگ

وضاحت

مذکورہ پروگرام میں ، اضافی کلاس میں ہمارے دو کام ہیں۔ دونوں نام شامل. ایک میں 2 پیرامیٹرز ہیں اور دوسرے میں 3 پیرامیٹرز ہیں۔

مرکزی فنکشن میں ، ہم کلاس ایڈیشن کا ایک آبجیکٹ تیار کرتے ہیں جسے a کہتے ہیں۔ ہم بالترتیب 2 اور 3 پیرامیٹرز کے ساتھ شامل ہونے والے افعال کو کہتے ہیں اور شامل افعال کو کہتے ہیں اور اس کے علاوہ وہ انجام دیتے ہیں۔

اس طرح فنکشن اوورلوڈنگ ہوتی ہے۔

اس مضمون کے ساتھ آگے بڑھتے ہوئے فنکشن اوورلوڈنگ اور سی ++ میں اوور رائیڈنگ

فنکشن اوور رائیڈنگ

جب مشتق طبقے میں اسی نام کے ساتھ فنکشن ہوتا ہے جس طرح بیس کلاس کا فنکشن ہوتا ہے ، تو اس کو کہتے ہیں فنکشن اوور رائیڈنگ دونوں افعال دونوں طبقوں میں ایک جیسے پیرامیٹرز کا ہونا ضروری ہے۔

فنکشن اوور رائیڈنگ کے لئے نمونہ کوڈ

# نام کی جگہ ایس ٹی ڈی کلاس بیس کلاس {عوام کا استعمال شامل کریں: باطل ڈسپو () (cout<<'Parent Class Function' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Child Class Function' } } int main() { DerivedClass obj = DerivedClass() obj.disp() return 0 } 

آؤٹ پٹ:

وضاحت:

مندرجہ بالا پروگرام میں ، ہم ماخوذ اور بیس کلاس میں ایک ہی نام کے ساتھ بنیادی فنکشن دکھاتے ہیں۔ یہاں آبجیکٹ مشتق کلاس سے بنا ہے لہذا جب ہم ڈسپلے کہتے ہیں صرف چائلڈ کلاس آبجیکٹ ظاہر ہوتا ہے۔

اس مضمون کے ساتھ آگے بڑھتے ہوئے فنکشن اوورلوڈنگ اور سی ++ میں اوور رائیڈنگ

اوور رائیڈنگ انجام دینے کا حکم

کوڈ پر غور کریں:

# نام کی جگہ ایس ٹی ڈی کلاس بیس کلاس {عوام کا استعمال شامل کریں: باطل ڈسپو () (cout<<'Function of Parent Class' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Function of Child Class' } } int main() { BaseClass obj = DerivedClass() obj.disp() return 0 } 

آؤٹ پٹ:

وضاحت:

مندرجہ بالا پروگرام میں ، ہم ماخوذ اور بیس کلاس میں ایک ہی نام کے ساتھ بنیادی فنکشن دکھاتے ہیں۔ یہاں ، پچھلے پروگرام سے صرف اتنا ہی فرق ہے۔ ہم چائلڈ کلاس کا اعتراض پیدا کرتے ہیں۔ چائلڈ کلاس آبجیکٹ کو بیس کلاس کا حوالہ دیا جاتا ہے۔ یہ دوسرا طریقہ استعمال کرکے بھی کیا جاسکتا ہے ،

نحو

والدین_کلاس_ نام :: فنکشن ()

مندرجہ بالا مثال میں ، ہم اسے بطور استعمال کرتے ہیں ،

بیس کلاس :: ڈسپو ()

یہ اوور رائڈنگ کا ایک اور طریقہ ہے۔

c ++ ترتیب الگورتھم

فنکشن اوورلوڈنگ VS فنکشن اوور رائیڈنگ

فنکشن اوورلوڈ فنکشن اوور رائڈ
دائرہ کار وہی ہےاسکا دائرہ مختلف ہے
دستخطوں میں فرق ہونا ضروری ہے (مثال کے طور پر پیرامیٹر)دستخط ایک جیسے ہونے چاہئیں
اوورلوڈنگ افعال کی تعدادصرف ایک اوور رائیڈنگ فنکشن ممکن ہے
وراثت کے بغیر ہو سکتا ہےیہ بنیادی طور پر وراثت کی وجہ سے ہوتا ہے

اس طرح ہم ‘فنکشن اوورلوڈنگ اور سی ++ میں اوور رائیڈنگ’ کے بارے میں اس مضمون کے اختتام کو پہنچ چکے ہیں۔ اگر آپ مزید جاننا چاہتے ہیں تو ، چیک کریں ایڈورکا ، ایک قابل اعتماد آن لائن سیکھنے کی کمپنی کے ذریعے۔ ایڈورکا کا جاوا J2EE اور SOA ٹریننگ اور سرٹیفیکیشن کورس آپ کو ہائبرنیٹ اور اسپرنگ جیسے جاوا کے مختلف فریم ورکوں کے ساتھ ساتھ جاوا کے دونوں بنیادی تصورات کی تربیت کے لئے ڈیزائن کیا گیا ہے۔

ہمارے لئے ایک سوال ہے؟ برائے کرم اس بلاگ کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم جلد از جلد آپ کے پاس مل جائیں گے۔