کیا کرتا ہے :: C++ میں کیا کرتا ہے؟

Kya Krta C My Kya Krta



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

اس گائیڈ میں، ہم دیکھیں گے۔ ڈبل بڑی آنت (::) آپریٹر C++ میں اور یہ مختلف منظرناموں میں کیسے کام کرتا ہے۔

کیا کرتا ہے :: C++ میں کیا کرتا ہے؟

C++ میں، دائرہ کار کی قرارداد آپریٹر (::) مختلف دائرہ کار کی سطحوں پر موجود متغیر کے ناموں کو بازیافت کرنے کے لیے استعمال کیا جاتا ہے۔ پروگرامنگ میں دائرہ کار اس سیاق و سباق سے مراد ہے جہاں متغیرات اور افعال تک رسائی حاصل کی جاسکتی ہے۔







C++ میں مختلف صورتوں میں :: کے استعمال

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



1: مختلف نام کی جگہ میں متغیر یا فنکشن تک رسائی حاصل کریں۔

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



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





مندرجہ بالا کیس کو سمجھنے کے لیے، مثال کے طور پر درج ذیل کوڈ پر غور کریں:

# شامل کریں

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

نام کی جگہ کی ریاضی {

const دگنا پی آئی = 3.14159 ;

دگنا مربع ( دگنا ایکس ) {

واپسی ایکس * ایکس ;

}

}

int مرکزی ( ) {

cout << 'PI کی قدر ہے:' << ریاضی :: پی آئی << endl ;

cout << '5 کا مربع ہے:' << ریاضی :: مربع ( 5 ) << endl ;

واپسی 0 ;

}

مذکورہ کوڈ استعمال کرتا ہے۔ ریاضی نام کی جگہ تک رسائی حاصل کرنے کے لئے 'PI' مسلسل اور 'مربع' کا استعمال کرتے ہوئے فنکشن دائرہ کار ریزولوشن آپریٹر '::' . اس کے بعد یہ اقدار کو کنسول پر پرنٹ کرتا ہے۔



آؤٹ پٹ

2: پروگرام میں عالمی متغیر تک رسائی حاصل کریں۔

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

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

# شامل کریں

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

int a = پندرہ ;

int مرکزی ( )

{

int a = 35 ;

cout << 'عالمی متغیر a کی قدر ہے' << :: a << endl ;

cout << 'مقامی متغیر a کی قدر ہے' << a << endl ;

واپسی 0 ;

}

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

آؤٹ پٹ

3: کلاس سے باہر ایک فنکشن کی وضاحت کریں۔

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

یہاں ایک مثالی کوڈ ہے جو اس کے استعمال کو ظاہر کرتا ہے۔ دائرہ کار ریزولوشن آپریٹر :

# شامل کریں

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



کلاس myClass {

عوام :

باطل میرا فنکشن ( ) ;

} ;

باطل میری جماعت :: میرا فنکشن ( ) {

cout << 'myfunction() کہا گیا!' ;

}

int مرکزی ( )

{

myClass classObj ;

classObj میرا فنکشن ( ) ;

واپسی 0 ;

}

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

آؤٹ پٹ

4: کلاس کے جامد اراکین تک رسائی حاصل کریں۔

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

یہاں ایک مثالی کوڈ ہے جو استعمال سے متعلق ہے۔ دائرہ کار ریزولوشن آپریٹر ایسی صورت میں:

# شامل کریں

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

کلاس myClass {

عوام :

جامد int myStatVar ;

} ;

int میری جماعت :: myStatVar = 5 ;

int مرکزی ( ) {

int myStatVar = 10 ;

cout << 'مقامی متغیر myStatVar:' << myStatVar << endl ;

cout << 'کلاس متغیر myStatVar:' << میری جماعت :: myStatVar << endl ;

واپسی 0 ;

}

مندرجہ بالا پروگرام پہلے کلاس کی وضاحت کرتا ہے۔ میری جماعت ایک جامد ممبر متغیر کے ساتھ myStatVar . اس کے بعد یہ پروگرام کے مرکزی فنکشن کے اندر ایک ہی نام کے ساتھ ایک مقامی متغیر کی وضاحت کرتا ہے۔ کلاس متغیر تک رسائی حاصل کرنے کے لیے، دائرہ کار ریزولوشن آپریٹر (::) کلاس کے نام کے ساتھ استعمال ہوتا ہے۔ میری جماعت . پروگرام کنسول میں دونوں متغیرات کی قدر کو آؤٹ پٹ کرتا ہے۔

آؤٹ پٹ

5: ایک سے زیادہ وراثت کے ساتھ استعمال کریں۔

دی دائرہ کار ریزولوشن آپریٹر (::) یہ بتانے کے لیے بھی استعمال کیا جاتا ہے کہ ممبر کا کون سا ورژن استعمال کرنا ہے جب C++ کلاس متعدد پیرنٹ کلاسز سے اخذ کی جاتی ہے جن کے ممبر متغیرات یا ایک ہی نام کے فنکشن ہوتے ہیں۔ ہم استعمال کرکے ایک ہی ممبر کے مختلف ورژن کے درمیان فرق کر سکتے ہیں۔ دائرہ کار ریزولوشن آپریٹر اس کے بعد پیرنٹ کلاس کا نام اور ممبر کا نام۔

# شامل کریں

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

کلاس والدین 1 {

عوام :

باطل پرنٹ کریں ( ) {

cout << 'یہ کلاس Parent1 پرنٹ فنکشن ہے۔' << endl ;

}

} ;

کلاس والدین 2 {
عوام :
باطل پرنٹ کریں ( ) {
cout << 'یہ کلاس Parent2 پرنٹ فنکشن ہے۔' << endl ;
}
} ;
کلاس myClass : عوامی والدین 1 , عوامی والدین 2 {
نجی :
int ایک پر ;

عوام :
میری جماعت ( int n ) {
ایک پر = n ;
}
باطل پرنٹ کریں ( ) {
والدین 1 :: پرنٹ کریں ( ) ; // Parent1 کے پرنٹ فنکشن کو کال کریں۔
والدین 2 :: پرنٹ کریں ( ) ; // Parent2 کے پرنٹ فنکشن کو کال کریں۔
cout << 'نمبر کی قدر ہے:' << ایک پر << endl ; // نمبر کی قدر پرنٹ کریں۔
}
} ;
int مرکزی ( ) {
myClass obj ( 42 ) ; // MyClass کا ایک آبجیکٹ بنائیں جس کی تعداد 42 پر شروع کی گئی ہے۔
اعتراض پرنٹ کریں ( ) ; // آبجیکٹ کے پرنٹ () فنکشن کو کال کریں۔
واپسی 0 ;
}

مذکورہ پروگرام کے استعمال کو ظاہر کرتا ہے۔ دائرہ کار ریزولوشن آپریٹر (::) کے پرنٹ افعال کے درمیان فرق کرنا والدین 1 اور والدین 2 جب دونوں طبقے وراثت میں ملے میری جماعت. کے ساتھ فنکشنز کو کال کرکے والدین کی کلاس فنکشن کے نام سے پہلے کا نام، ہم یہ بتا سکتے ہیں کہ فنکشن کا کون سا ورژن استعمال کرنا ہے۔

آؤٹ پٹ

نیچے کی لکیر

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