ساخت اور کلاس کے مابین فرق

مصنف: Laura McKinney
تخلیق کی تاریخ: 1 اپریل 2021
تازہ کاری کی تاریخ: 4 مئی 2024
Anonim
c++ میں کلاس اور سختی کے درمیان فرق | c++ میں کلاس اور ڈھانچہ
ویڈیو: c++ میں کلاس اور سختی کے درمیان فرق | c++ میں کلاس اور ڈھانچہ

مواد


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

  1. موازنہ چارٹ
  2. تعریف
  3. کلیدی اختلافات
  4. مماثلت
  5. نتیجہ اخذ کرنا

موازنہ چارٹ

موازنہ کی بنیادساختکلاس
بنیادی اگر تکالیف دہندہ کا اعلان نہیں کیا جاتا ہے تو ، بطور ڈیفالٹ تمام ممبر عوامی ہوتے ہیں۔اگر تکالیف دہندہ کا اعلان نہیں کیا جاتا ہے تو ، بطور ڈیفالٹ تمام ممبران نجی ہوتے ہیں۔
اعلامیہ ڈھانچہ ڈھانچہ_ نام {
type_element 1؛
سٹرک_یلیمنٹ 2 ٹائپ کریں؛
ٹریک ڈھانچہ 3؛
.
.
.
};
کلاس کلاس_ نام {
ڈیٹا ممبر؛
ممبر تقریب
};
مثال ساخت کی مثال کو ساخت متغیر کہا جاتا ہے۔کلاس کی مثال کو آبجیکٹ کہا جاتا ہے۔


ساخت کی تعریف

ایک ڈھانچہ متنوع اعداد و شمار کے متغیرات کا ایک مجموعہ ہے ، جس کا حوالہ ایک نام سے دیا جاتا ہے۔ ایک ڈھانچہ اعلامیہ ایک ٹیمپلیٹ تشکیل دیتا ہے جو اس ڈھانچے کی مثال بنانے کے لئے استعمال ہوتا ہے۔ ساخت مندرجہ ذیل کے طور پر اعلان کیا جاتا ہے.

s sname {type struct__element1؛ سٹرک_یلیمنٹ 2 ٹائپ کریں؛ سٹرک_یلیمینٹ 3 ٹائپ کریں؛ . . . } متغیر 1 ، متغیر 2 ،. . .؛

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

// مثال. مین () {اسم S1 ، S2؛ }

یہاں S1 اور S2 ساخت کی مثال ہیں۔ ڈھانچے کی مثالوں کو "ڈھانچہ متغیر" کہا جاتا ہے۔ ڈھانچے کے جسم کے اندر اعلان کردہ عنصر ڈاٹ (.) آپریٹر کے استعمال کے ذریعے ڈھانچے کے متغیر کے ذریعے حاصل کیا جاسکتا ہے۔


// مثال ایس 1۔ ڈھانچہ_ عنصر 1؛

  • ڈھانچے کی صف بھی تیار کی جاسکتی ہے ، اس کے ل you ، آپ کو پہلے کسی ڈھانچے کا اعلان کرنے کی ضرورت ہے اور اس کے بعد ، اس نوع کی ایک صف کا اعلان کریں۔

// نمونہ ڈھانچہ same سرے؛

مذکورہ بالا بیان میں "سرے" کے نام سے ایک صف تیار کی گئی ہے جس میں دس متغیر ہیں ، اور ہر متغیر کو منظم کیا گیا ہے جیسا کہ "اسم" میں بیان کیا گیا ہے۔

  • آپ کسی ڈھانچے کے ممبر کو کسی فنکشن میں منتقل کرسکتے ہیں ، اور آپ پوری ڈھانچے کو کسی فنکشن میں منتقل کرسکتے ہیں۔
  • جیسے ، انٹیجر پوائنٹر ، سرنی پوائنٹر ، ڈھانچہ متغیر کے نام کے سامنے "*" رکھ کر ایک ڈھانچے کے پوائنٹر کا بھی اعلان کیا جاسکتا ہے۔

// نمونہ ڈھانچے کا نام * S1؛

نوٹ:

’ساخت‘ عناصر ایک مابغہ میموری جگہ پر محفوظ ہوتے ہیں۔

کلاس کی تعریف

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

کلاس کلاس_ نام {نجی ڈیٹا کے ممبر اور ممبر کے افعال۔ access_specifier قسم ڈیٹا_مبر؛ میم_فانکٹ (پیرامیٹر کی فہرست) list ٹائپ کریں۔ . }} اعتراض کی فہرست؛

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

اشیاء کلاس کی مثال کے سوا کچھ نہیں ہیں۔ کلاس کے ممبروں تک ڈاٹ (.) آپریٹر کا استعمال کرتے ہوئے ایک ہی کلاس کے آبجیکٹ کے ذریعے رسائی حاصل کی جاتی ہے۔

//object.mem_funct (دلائل)؛

  • اعتراض کو کسی فنکشن کی دلیل کے طور پر بھی منظور کیا جاسکتا ہے۔
  • کسی شے کی طرف اشارہ بھی بنایا جاسکتا ہے۔
  1. ڈھانچے اور کلاسوں کے مابین بنیادی فرق یہ ہے کہ طے شدہ طور پر ڈھانچے کے تمام ممبر پبلک ہوتے ہیں جبکہ بطور ڈیفالٹ کلاس کے تمام ممبر نجی ہوتے ہیں۔

مماثلت:

  • سی ++ میں ساخت اور طبقہ دونوں مصنوعی طور پر مساوی ہیں۔
  • ڈھانچہ اور طبقاتی دونوں ہی اپنے کچھ ممبروں کو نجی قرار دے سکتے ہیں۔
  • کسی ڈھانچے یا کلاس کا نام اسٹینڈ اکیلے قسم کے طور پر استعمال کیا جاسکتا ہے۔
  • ڈھانچہ اور ایک طبقہ دونوں وراثت کے طریقہ کار کی حمایت کرتے ہیں۔

نتیجہ:

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