آپریٹر کو اوورلوڈنگ کو C ++ میں کیسے نافذ کریں؟



اس مضمون میں ہم ایک اور آبجیکٹ پر مبنی تصور پر نظر ڈالیں گے جو آپریٹر کو سنبھالنا آسان بناتا ہے۔ ہم C ++ میں آپریٹر اوورلوڈنگ سیکھ رہے ہوں گے۔

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

تو ، آئیے آپ C ++ میں آپریٹر اوورلوڈنگ سے متعلق اس مضمون کے ساتھ شروعات کریں۔





C ++ میں زیادہ بوجھ

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



C ++ میں ، ہم اوورلوڈ کرسکتے ہیں:

  • طریقوں
  • تعمیر کار
  • اشاریہ جات کی خصوصیات

اس لئے کہ ان ممبروں کے پاس صرف پیرامیٹر ہیں۔

C ++ میں آپریٹر اوورلوڈنگ سے متعلق اس مضمون کے ساتھ آگے بڑھ رہے ہیں۔



C ++ میں اوورلوڈنگ کی اقسام

  • فنکشن اوورلوڈنگ
  • آپریٹر اوورلوڈنگ

اوورلوڈنگ - آپریٹر اوورلوڈنگ C ++ میں - ایڈورکا

C ++ میں آپریٹر اوورلوڈنگ سے متعلق اس مضمون کے ساتھ آگے بڑھ رہے ہیں۔

جاوا میں اوور رائیڈنگ اور اوورلوڈنگ

آپریٹر اوورلوڈنگ کیوں استعمال ہوتا ہے؟

آپریٹر اوورلوڈنگ کی معلومات کے بغیر سی ++ پروگرام لکھے جا سکتے ہیں۔ تب بھی ، آپریٹر آپریٹنگ پروگرام کو بدیہی بنانے کے لئے پروگرامروں کے ذریعہ گہرے استعمال کرتے ہیں۔ مثال کے طور پر،

ہم اس طرح کے کوڈ کی جگہ لے سکتے ہیں:

حساب کتاب = شامل (تقسیم (ا، بی)، ضرب (ایک، بی))

مساوات کے ل

حساب کتاب = (a / b) + (a * b)

آپریٹر اوورلوڈنگ C ++ میں زیادہ تر آپریٹرز کے لئے نئی تعریفوں کی ترقی کے لئے ایک آسان اور آسان طریقہ فراہم کرتا ہے۔ کافی جانکاری کے ساتھ ، ہم فنکشن اور آپریٹر اوورلوڈنگ تکنیک کے تخلیقی استعمال کے ذریعہ اپنی اپنی ایک نئی زبان تقریبا تشکیل دے سکتے ہیں۔ ہم C ++ میں موجود تمام آپریٹرز کو مندرجہ ذیل کے علاوہ اوورلوڈ کرسکتے ہیں۔
ope اسکوپ آپریٹر (: :)
● سائز آپریٹر (سائز)
● ممبر سلیکٹر (.)
poin ممبر پوائنٹر سلیکٹر (*)
● ترنری آپریٹر (؟ :)

آپریٹر اوورلوڈنگ کا نحو

کس طرح aws cli کھولنے کے لئے
ریٹرن_ٹائپ کلاس_ نام:: آپریٹر آپٹ (دلیل_ فہرست) {// فنکشن باڈی}

جہاں واپسی کی قسم فنکشن کے ذریعہ واپس کی گئی قیمت کی قسم ہے۔ کلاس کا نام کلاس کا نام ہے۔

C ++ میں آپریٹر اوورلوڈنگ سے متعلق اس مضمون کے ساتھ آگے بڑھ رہے ہیں۔

آپریٹر کو اوورلوڈنگ C ++ میں نافذ کرنا

اوورلوڈ ہونے کے ل Ope آپریٹر کا فنکشن غیر مستحکم (ممبر فنکشن) یا دوست فنکشن کا ہونا ضروری ہے۔ آپریٹر اوورلوڈنگ فنکشن ممبر فنکشن پر لاگو کیا جاسکتا ہے اگر لیفٹ اوورینڈ اس کلاس کا کوئی شے ہو ، لیکن اگر لیفٹ آپینڈ مختلف ہے تو آپریٹر اوورلوڈنگ فنکشن کو غیر ممبر فنکشن کے طور پر تعبیر کرنا ہوگا۔
اگر کلاس کے نجی اور محفوظ ممبروں تک رسائی کی ضرورت ہو تو آپریٹر اوورلوڈنگ فنکشن کو فرینڈ فنکشن بنایا جاسکتا ہے۔ مثال کے طور پر ، آپریٹر اوپ ایک آپریٹر فنکشن ہے جہاں آپریٹر زیادہ بوجھ سے چلتا ہے ، اور آپریٹر کلیدی لفظ ہے۔ آپریٹر اوورلوڈنگ کسی فنکشن کو لاگو کرکے حاصل کیا جاسکتا ہے جو ممبر فنکشن ، غیر ممبر فنکشن یا فرینڈ فنکشن یا تو ہوسکتا ہے۔

آپریٹر کے افعال اور عام کاموں میں کیا فرق ہے؟

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

C ++ میں آپریٹر اوورلوڈنگ سے متعلق اس مضمون کے ساتھ آگے بڑھ رہے ہیں۔

اوورلوڈنگ کے طریقوں کی قسمیں

آپریٹر اوورلوڈنگ تین طریقوں کو استعمال کرکے کیا جاسکتا ہے ، وہ ہیں

  • اوور لوڈنگ ینیری آپریٹر
  • بائنری آپریٹر کو اوور لوڈنگ
  • دوست فنکشن کا استعمال کرتے ہوئے بائنری آپریٹر کو اوور لوڈنگ۔

C ++ میں آپریٹر اوورلوڈنگ سے متعلق اس مضمون کے ساتھ آگے بڑھ رہے ہیں۔

اونری لوڈنگ انوری آپریٹر

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

مثال:

# نام کی جگہ ایس ٹی ڈی کلاس اونچائی کا استعمال کرتے ہوئے شامل کریں {عوام: // ممبر آبجیکٹ انٹ پاؤں ، انچ // اسٹرکچر کی آبجیکٹ کو ابتدائی بنانے کے لئے کنٹرکچر (اونٹ ف ، انٹ i) {فٹ = ایف انچ = آئ} // اوورلوڈنگ (-) آپریٹر سے ہائٹ آبجیکٹ باطل آپریٹر- () {فٹ-- انچ-- کیاؤٹ کی کمی / عمل کرنا<< 'Feet & Inches after decrement: ' << feet << ' ' ' << inch <

آؤٹ پٹ:

اسپائیڈر ازگر کو کیسے استعمال کریں

وضاحت:
مندرجہ بالا مثال میں ، ہم اونچائی طبقے کے دو متغیرات میں کمی کو انجام دینے کے لئے غیر متناسب آپریٹر کو اوورلوڈ کرتے ہیں۔ ہم کنسٹرکٹر کو دو پیرامیٹرز منتقل کرتے ہیں اور ان کی اقدار کو پیروں اور انچ متغیر میں بچاتے ہیں۔ پھر ہم آپریٹر کو اوورلوڈنگ فنکشن کی وضاحت کرتے ہیں (باطل آپریٹر- ()
) جس میں دونوں متغیرات کو ایک پوزیشن کے ذریعہ کم کیا جاتا ہے۔
جب ہم -h1 لکھتے ہیں تو یہ آپریٹر کو اوورلوڈنگ فنکشن کہتے ہیں اور کمٹرکٹر کو دی جانے والی قدروں میں کمی لاتا ہے۔

C ++ میں آپریٹر اوورلوڈنگ سے متعلق اس مضمون کے ساتھ آگے بڑھ رہے ہیں۔

بائنری آپریٹر کو اوور لوڈنگ

یہ دو اوپیرینڈز پر کام کرنے والے آپریٹر کی اوور لوڈنگ ہے۔ آئیے کلاس اونچائی کی ایک ہی مثال لیتے ہیں ، لیکن اس بار ، دو اونچائی اشیاء h1 اور h2 شامل کریں۔

مثال:

# نام کی جگہ ایس ٹی ڈی کلاس اونچائی کا استعمال کرتے ہوئے شامل کریں {عوامی: INT فٹ ، انچ اونچائی () {فٹ = 0 انچ = 0 ight اونچائی (INT ف ، انٹ i) {فٹ = ایف انچ = i} // اوورلوڈنگ (+) آپریٹر انجام دینے کیلئے بائنری آپریٹر اونچائی آپریٹر + (اونچائی اور d2) کا استعمال کرتے ہوئے // دو فاصلہ آبجیکٹ کا اضافہ + حوالہ کے ذریعہ کال کریں {// اونچائی h3 واپس کرنے کے ل an ایک آبجیکٹ بنائیں // پیروں اور انچوں میں اضافہ h3.feet = فٹ + d2.feet h3۔ انچ = انچ + d2.inch // نتیجے میں آبجیکٹ کی واپسی h3}} INT مین () ight اونچائی H1 (3، 7) اونچائی H2 (6، 1) اونچائی h3 // اوورلوڈ آپریٹر h3 = h1 + h2 cout کا استعمال کریں<< 'Sum of Feet & Inches: ' << h3.feet << ''' << h3.inch << endl return 0 } 

آؤٹ پٹ:

وضاحت:
اونچائی آپریٹر + (اونچائی اور h2) ، یہاں اعداد و شمار کی تقریب کی قسم کلاس اونچائی ہے اس طرح یہ کلاس اونچائی کا آبجیکٹ h3 لوٹاتا ہے۔ h3 = h1 + h2 لائن میں ، H1 آپریٹر کے فنکشنز کو اپنی کلاس اشیاء کو کال کرتا ہے اور h2 کو پیرامیٹر کے طور پر لیتا ہے ، پھر ہم h3.feet = فٹ + d2.feet اور h3.inch = انچ + d2.inch لگاتے ہیں جو اسٹور کو اسٹور کرتا ہے متغیر کے پیروں اور انچ کی اقدار کا مجموعہ جس میں h3 اعتراض سے وابستہ ہے۔
جب بیان ‘h3 = h1 + h2’ آپریٹر کو اوورلوڈ فنکشن کا مطالبہ کرتا ہے تو اعتراض H1 نے فنکشن کو طلب کرنے کی ذمہ داری قبول کی اور ایچ 2 اس فنکشن میں منتقل ہونے والی دلیل کا کردار ادا کرتا ہے۔ مذکورہ بالا درخواست بیان h3 = h1.operator + (h2) کے مترادف ہے لہذا h2 کے ڈیٹا ممبر کو براہ راست رسائی حاصل کی جاتی ہے اور h2 کے ڈیٹا ممبر (جو ایک دلیل کے طور پر منظور کیا جاتا ہے) تک ڈاٹ آپریٹر کا استعمال کرتے ہوئے رسائی حاصل کی جاتی ہے۔

آپریٹر اوورلوڈنگ کے قواعد

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

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

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