C ++ میں اسکوپ ریزولوشن آپریٹر کا بہترین استعمال کیسے کریں؟



یہ مضمون آپ کو C ++ میں اسکوپ ریزولوشن آپریٹر سے متعارف کرائے گا اور تفصیلی تفہیم کے ل program اس کے بعد پروگرامی مظاہرے کی پیروی کرے گا۔

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

C ++ میں ، اسکوپ ریزولوشن آپریٹر :: ہے۔ C ++ میں اسکوپ ریزولوشن آپریٹر کے لئے استعمال کیا جاسکتا ہے:





مثال کے طور پر انفارمیٹیکا میں تبدیلی

آئیے ہم مثالوں کی مدد سے ایک ایک کر کے ہر مقصد کو سمجھیں۔

جب مقامی متغیر موجود ہو تو عالمی متغیر تک رسائی حاصل کرنا ایک جیسا نام

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



مثال

# نام کی جگہ کا استعمال std int num = 30 // عالمی متغیر نمبر INT مین () num int num = 10 // مقامی متغیر نم کوٹ شروع کرنا<< 'Value of global num is ' << ::num cout << 'nValue of local num is ' << num return 0 } 

آؤٹ پٹ

اس مضمون کے ساتھ اسٹوپ ریزولوشن آپریٹر ان سی ++ میں آگے بڑھ رہے ہیں



کلاس سے باہر کسی فنکشن کی تعریف کرنا

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

مثال

# نام اسپیس ایس ٹی کلاس موٹر سائیکل کا استعمال کرتے ہوئے شامل کریں {عوام: // صرف فنکشن ڈیکلریشن باطل اسپیڈ ()} // :: باطل موٹر سائیکل :: اسپیڈ () {cout کا استعمال کرتے ہوئے موٹرسائیکل کلاس کے باہر اسپیڈ فنکشن کی تعریف کریں۔<< 'Speed of Bike is 90 KMPH' } int main() { Bike bike bike.Speed() return 0 } 

آؤٹ پٹ

اس مضمون کے ساتھ اسٹوپ ریزولوشن آپریٹر ان سی ++ میں آگے بڑھ رہے ہیں

کلاس کے مستحکم تک رسائی متغیر

آپ کلاس کا نام اور اسکوپ ریزولوشن آپریٹر (یعنی class_name :: static_variable) کا استعمال کرتے ہوئے کلاس کے جامد متغیر تک رسائی حاصل کرسکتے ہیں۔ آپ ذیل کی مثال میں دیکھ سکتے ہیں ، ہم کلاس میں جامد متغیر کا اعلان کر رہے ہیں۔ ہم اسکوپ ریزولوشن آپریٹر کا استعمال کرکے کلاس سے باہر متغیر کی وضاحت کررہے ہیں۔ پھر ہم کلاس کا نام اور اسکوپ ریزولوشن آپریٹر استعمال کرکے اس تک رسائی حاصل کر رہے ہیں۔

مثال

# نام کی جگہ ایس ٹی ڈی کلاس کا استعمال کرتے ہوئے کوشش کریں Try جامد INT1 num1 عوامی: جامد int num2 // مقامی پیرامیٹر کلاس ممبر کو چھپاتا ہے // کلاس ممبر کو اس کا استعمال کرتے ہوئے اس تک رسائی حاصل کی جاسکتی ہے: :: باطل فنکشن (اینٹی num1) {// num1 جامد متغیر کا استعمال کرتے ہوئے اس تک رسائی حاصل کی جاسکتی ہے :: // مقامی متغیر num1 cout کے باوجود<< 'Static num1: ' << Try::num1 cout << 'nLocal num1: ' << num1 } } // Defining a static members explicitly using :: int Try::num1 = 10 int Try::num2 = 15 int main() { Try o int num1 = 20 o.function(num1) cout << 'nTry::num2 = ' << Try::num2 return 0 } 

آؤٹ پٹ

اس مضمون کے ساتھ اسٹوپ ریزولوشن آپریٹر ان سی ++ میں آگے بڑھ رہے ہیں

کسی اور کلاس کے اندر کلاس کا حوالہ دیتے ہیں

آپ دونوں کلاسوں میں ایک جیسے متغیر ناموں کے ساتھ نیسٹڈ کلاس بنا سکتے ہیں۔ آپ اسکوپ ریزولوشن آپریٹر کا استعمال کرتے ہوئے دونوں متغیر تک رسائی حاصل کرسکتے ہیں۔ داخلی کلاس متغیر کے ل you ، آپ کو استعمال کرنے کی ضرورت ہے بیرونی_کلاس :: اندرونی_کلاس :: متغیر۔

مثال

# نام کی جگہ ایس ٹی ڈی کلاس کا استعمال شامل کریں باہر_کلاس {عوام: int num class Inside_class {عوام: int num جامد int x}} # آؤٹ سائیڈ :: x = 5 INT مین مین () {باہر_کلاس ایک باہر_کلاس :: Inside_class B}

اس مضمون کے ساتھ اسٹوپ ریزولوشن آپریٹر ان سی ++ میں آگے بڑھ رہے ہیں

ایک سے زیادہ وراثت کی صورت میں

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

مندرجہ ذیل مثال میں ، ہم پیرنٹ 1 اور والدین 2 کی دو والدین کی کلاس بنا رہے ہیں ، اور ان دونوں میں متغیر نمبر ہے۔ جب ہم ان دونوں کو چائلڈ کلاس میں وراثت میں حاصل کر رہے ہیں تو ، ہم کلاس کا نام اور اسکوپ ریزولوشن آپریٹر استعمال کرکے نمبر متغیر دونوں تک رسائی حاصل کرسکتے ہیں۔

مثال

# نام کی جگہ ایسٹیڈی کلاس پیرنٹ 1 کا استعمال شامل کریں {محفوظ: INTNN_NET_NET_POL1_ {نمبر = 100}} کلاس والدین 2 {محفوظ: int num عوامی: والدین 2 () {نمبر = 200}} کلاس بچہ: عوامی والدین 1 ، عوامی والدین 2 { عوامی: باطل تقریب () out cout<< 'Parent1's num is ' << Parent1::num cout << 'nParent2's num is ' << Parent2::num } } int main() { Child obj obj.function() return 0 } 

آؤٹ پٹ

اس مضمون کے ساتھ اسٹوپ ریزولوشن آپریٹر ان سی ++ میں آگے بڑھ رہے ہیں

نام کی جگہ

فرض کریں ہمارے پاس دو نام کی جگہیں ہیں اور دونوں میں ایک ہی نام والی کلاس ہے۔ لہذا کسی بھی تنازعہ سے بچنے کے ل we ہم اسکوپ ریزولوشن آپریٹر کے ساتھ نام کی جگہ کا استعمال کرسکتے ہیں۔ ذیل کی مثال میں ہم استعمال کر رہے ہیں std :: cout .

مثال

# شامل کریں مین مین () {ایس ٹی ڈی :: کوٹ<< 'Hello' << std::endl } 

آؤٹ پٹ

اب مذکورہ پروگراموں میں گزرنے کے بعد آپ کو C ++ میں سکیپ ریزولوشن آپریٹر کے بارے میں سب کچھ سمجھ آجاتا۔ مجھے امید ہے کہ یہ بلاگ آپ کے لئے معلوماتی اور قابل قدر ہے۔

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

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