C++ میں وراثت کنسٹرکٹر کیا ہے؟

C My Wratht Kns Rk R Kya



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

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

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







کے لیے نحو وراثت C++ میں ایک کلاس ہے:



کلاس ماخوذ کلاس : accessSpecifier BaseClass {
// کلاس ممبران
} ;

اس معاملے میں جو نئی کلاس بن رہی ہے، 'DrivedClass'، سے وراثت میں ملے گا۔ 'بیس کلاس'۔ وراثت میں ملنے والے اراکین تک رسائی کی سطح کی وضاحت ' رسائی کی وضاحت کرنے والا'۔ C++ تین قسم کے رسائی کے تصریح کاروں کا استعمال کرتا ہے، یعنی 'عوامی'، 'نجی'، اور 'محفوظ' . لفظ 'عوام' اشارہ کرتا ہے کہ اخذ شدہ کلاس کو بیس کلاس کے عوامی اراکین تک رسائی حاصل ہے۔ اخذ شدہ کلاس کو بیس کلاس کے ممبران تک رسائی نہیں ہے، کے مطابق 'نجی' وضاحت کنندہ اخذ شدہ کلاس کو محفوظ بیس کلاس ممبران تک رسائی حاصل ہے جو ان کے بچوں کی کلاسوں کے ذریعہ وراثت میں مل سکتی ہے، 'محفوظ' وضاحت کنندہ



C++ میں وراثت کی مثال

مندرجہ ذیل مثال کے نفاذ کو ظاہر کرتا ہے۔ وراثت C++ میں:





# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;

کلاس جانور {
عوام :
باطل کھاؤ ( ) {
cout << 'میں کھا سکتا ہوں!' << endl ;
}
باطل سونا ( ) {
cout << 'میں سو سکتا ہوں!' << endl ;
}
} ;
کلاس کیٹ : عوام جانور {
عوام :
باطل میانو ( ) {
cout << 'میں میانو کر سکتا ہوں!' << endl ;
}
} ;
int مرکزی ( ) {
بلی بلی 1 ;
بلی 1 کھاؤ ( ) ;
بلی 1 سونا ( ) ;
بلی 1 میانو ( ) ;

واپسی 0 ;
}

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

آؤٹ پٹ



جب کوئی کلاس اخذ کی جاتی ہے تو، تمام بیس کلاس کے ممبر متغیرات اور ممبر فنکشنز اخذ شدہ کلاس میں منتقل ہو جاتے ہیں۔ دی وراثت میں ملا اخذ شدہ کلاس میں اراکین کی رسائی کا تعین رسائی کے مخصوص کنندہ سے ہوتا ہے۔ اخذ شدہ کلاس ان کے لیے نئی خصوصیات کو بھی بدل سکتی ہے جو پہلے سے موجود ہیں۔ یہ بیس کلاس کے طریقوں کے لیے نئے نفاذ کو شامل کر سکتا ہے اور نئے ممبر فنکشنز اور متغیرات کو شامل کر سکتا ہے۔

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

نتیجہ

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