C++ حاصل کرنے والے اور سیٹرز کے طریقے

C Hasl Krn Wal Awr Sy Rz K Tryq



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

مثال 1:

ہم اپنے کوڈ کو شروع کرنے کے لیے یہاں ہیڈر فائلوں کا استعمال کرتے ہیں کیونکہ وہ C++ ترقی کے لیے دستیاب ہیں۔ ہم ہیڈر فائلوں کو لوڈ کرتے ہیں جو اس کوڈ کو شروع کرنے کے لیے درکار ہیں۔ اس کوڈ میں 'سٹرنگ' اور 'iostream' ہیڈر فائلیں شامل ہیں۔ ہم بعد میں اس کے بعد 'نام کی جگہ std' کو شامل کرتے ہیں۔







پھر، ہم یہاں ایک 'ٹیبل' کلاس بناتے ہیں اور 'کاؤنٹ' نامی ایک پرائیویٹ ویری ایبل کو 'int' ڈیٹا ٹائپ کے ساتھ شروع کرتے ہیں اور اس میں '15' کو اس کی ویلیو کے طور پر اسٹور کرتے ہیں۔ اس کے بعد، ہم 'عوامی' کلیدی لفظ داخل کرتے ہیں۔ پھر، ہم 'getCount()' کے نام سے ایک فنکشن بناتے ہیں۔ اس کی ڈیٹا کی قسم 'int' ہے۔ یہ یہاں حاصل کرنے والا فنکشن ہے۔ ہم اس فنکشن میں 'واپسی' کلیدی لفظ کو استعمال کرکے اس 'کاؤنٹ' کو واپس کرتے ہیں۔ پھر، ہم مندرجہ ذیل 'main()' فنکشن کو استعمال کرتے ہیں جہاں ہم 'T_obj' نام کے ساتھ پچھلی کلاس کا آبجیکٹ بناتے ہیں۔ پھر، ہم شمار کی قدر حاصل کرنے اور نتیجہ یہاں پرنٹ کرنے کے لیے 'cout' اسٹیٹمنٹ میں اس کلاس آبجیکٹ کے ساتھ 'getCount()' فنکشن کو کال کرتے ہیں۔



کوڈ 1:

#include

# شامل کریں

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

کلاس ٹیبل

{

نجی :
int شمار = پندرہ ;
عوام :
int getCount ( )
{
واپسی شمار ;
}
} ;
int مرکزی ( )
{
ٹیبل T_obj ;


cout << 'ہمیں یہاں میز کے نمبر ملتے ہیں جو یہ ہیں:' << T_obj getCount ( ) ;

}

آؤٹ پٹ:

اس کوڈ کی مکمل اور کامیاب تالیف کے بعد، ہمیں یہ مطلوبہ آؤٹ پٹ ملتا ہے جس میں ہم دیکھ سکتے ہیں کہ اس کو کاؤنٹ ویلیو ملتی ہے اور اسے یہاں ڈسپلے کرتے ہیں جو کہ '15' ہے۔ اسے 'نجی' کلاس کے اندر شروع کیا جاتا ہے۔







مثال 2:

اس کوڈ کے لیے درکار 'سٹرنگ' اور 'iostream' ہیڈر فائلیں یہاں شامل ہیں۔ اس کے بعد 'نام کی جگہ std' کو شامل کیا جاتا ہے۔ اس کے بعد، ہم 'MySquareClass' کلاس کی ایک نئی مثال بناتے ہیں، 'int' ڈیٹا ٹائپ کے ساتھ 'squareSide' نامی پرائیویٹ متغیر شروع کرتے ہیں، اور اس کی قدر کو '5' پر سیٹ کرتے ہیں۔ پھر 'عوامی' کلیدی لفظ شامل کیا جاتا ہے، اور 'int' ڈیٹا کی قسم کے ساتھ 'getSquareSide()' نامی فنکشن تیار کیا جاتا ہے۔

یہاں، اسے 'گیٹر' فنکشن کہا جاتا ہے۔ اس کے اندر، ہم 'اسکوائر سائیڈ' کو 'واپس' کرتے ہیں۔ لہذا، جب ہم اس فنکشن کو کہتے ہیں، تو یہ 'squareSide' ویلیو دیتا ہے۔ اس کے بعد، ہم ایک اور فنکشن رکھتے ہیں جسے 'getSquarePerimeter()' کہتے ہیں۔ یہاں، ہم دائرہ تلاش کرنے کے لیے فارمولہ رکھتے ہیں تاکہ یہ مربع کے اطراف کی قدر حاصل کرنے اور اسے '4' سے ضرب کرنے کے بعد مربع کا دائرہ واپس کر دے۔ ہمیں مربع کا رقبہ بھی تلاش کرنے کی ضرورت ہے۔ اس مقصد کے لیے، ہم 'getSquareArea()' کے نام سے ایک اور فنکشن تیار کرتے ہیں اور ایک فارمولے کی مدد سے مربع کے رقبے کی گنتی کرتے ہیں جو مربع کے اطراف کو ضرب دیتا ہے۔ جب بھی ہم اسے کال کرتے ہیں تو یہ مربع کا رقبہ لوٹاتا ہے اور پچھلے 'squareSide' متغیر سے مربع سائیڈ کی قدر حاصل کرتا ہے۔



اب، ہمیں ان افعال کو کال کرنے کی ضرورت ہے۔ ہم 'main()' کو استعمال کرتے ہیں اور پھر 'sq_obj1' نام کے ساتھ 'MySquareClass' کا ایک آبجیکٹ بناتے ہیں۔ اس کے بعد، ہم اس کلاس آبجیکٹ کے ساتھ تینوں فنکشنز کو الگ الگ کال اور پرنٹ کرتے ہیں۔

کوڈ 2:

#include

# شامل کریں

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

کلاس MySquareClass

{

نجی :

int مربع طرف = 5 ;
عوام :
int getSquareSide ( )
{
واپسی مربع طرف ;
}
int getSquarePerimeter ( )
{
واپسی مربع طرف * 4 ;
}
int getSquareArea ( )
{
واپسی مربع طرف * مربع طرف ;
}
} ;
int مرکزی ( )
{
MySquareClass sq_obj1 ;

cout << 'مربع کی طرف =' <<

sq_obj1. getSquareSide ( ) << endl ;

cout << 'مربع کا دائرہ =' <<

sq_obj1. getSquarePerimeter ( ) << endl ;

cout << 'مربع کا رقبہ =' <<

sq_obj1. getSquareArea ( ) << endl ;

}

آؤٹ پٹ:

سب سے پہلے، یہ 'getSquareSide()' فنکشن کی مدد سے مربع کا سائیڈ دکھاتا ہے، جو کہ '5' ہے۔ پھر، یہ 'getSquarePerimeter()' فنکشن اور 'getSquareArea()' فنکشن کا استعمال کرتے ہوئے مربع کے رقبے کو استعمال کرکے مربع کا دائرہ پرنٹ کرتا ہے۔

مثال 3:

یہاں، ہمارے پاس 'ڈرائیور' کلاس ہے جس میں ہم 'پرائیویٹ' کلیدی لفظ ڈالتے ہیں اور 'انٹ' ڈیٹا ٹائپ کے ساتھ 'ڈرائیور سیلری' کو بطور پرائیویٹ ممبر قرار دیتے ہیں۔ اس کے بعد، ہمارے پاس 'پبلک' ہے جہاں ہم 'setDriverSalary' فنکشن بناتے ہیں اور اس فنکشن کے پیرامیٹر کے طور پر 'int d_s' پاس کرتے ہیں۔ یہ اس کوڈ میں یہاں سیٹر فنکشن ہے۔ اب، ہم اس فنکشن کے اندر موجود 'driverSalary' متغیر کو 'd_s' تفویض کرتے ہیں۔

اس کے بعد، ہم گیٹر فنکشن تیار کرتے ہیں جسے 'getDriverSalary' کہتے ہیں اور ڈرائیور کی تنخواہ واپس کرتے ہیں۔ اب، 'main()' کو استعمال کرنے کے بعد، ہم کلاس کا ایک آبجیکٹ بناتے ہیں جو کہ 'driverObj_1' ہے اور 'setDriverSalary()' فنکشن کو کال کرکے اور '30000' کو اس کے پیرامیٹر کے طور پر پاس کرکے ڈرائیور کی تنخواہ کی ویلیو سیٹ کرتے ہیں۔ ڈرائیور کی تنخواہ. پھر، ہم اس تنخواہ کو 'getDriverSalary()' فنکشن کو کال کرکے پرنٹ کرتے ہیں۔

کوڈ 3:

# شامل کریں

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

کلاس ڈرائیور {

نجی :
int ڈرائیور کی تنخواہ ;
عوام :
باطل ڈرائیور کی تنخواہ مقرر کریں۔ ( int d_s ) {
ڈرائیور کی تنخواہ = d_s ;
}
int ڈرائیور کی تنخواہ حاصل کریں۔ ( ) {
واپسی ڈرائیور کی تنخواہ ;
}
} ;
int مرکزی ( ) {
ڈرائیور ڈرائیورObj_1 ;
ڈرائیور اوبج_1۔ ڈرائیور کی تنخواہ مقرر کریں۔ ( 30000 ) ;


cout << 'ڈرائیور کی تنخواہ ہے:' << ڈرائیورObj_1. ڈرائیور کی تنخواہ حاصل کریں۔ ( ) ;

واپسی 0 ;

}

آؤٹ پٹ:

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

مثال 4:

اس کوڈ میں 'پرسن' کلاس تیار کی گئی ہے جہاں ہم 'سٹرنگ' ڈیٹا ٹائپ کے ساتھ 'P_name'، 'P_city' اور 'P_language' نامی تین 'پرائیویٹ' متغیرات کا اعلان کرتے ہیں۔ اس کے بعد، ہم ایک 'عوامی' کنسٹرکٹر بناتے ہیں۔ یہاں، ہم 'setPersonName()' فنکشن رکھتے ہیں اور فنکشن کے پیرامیٹر کے طور پر 'string newName' ڈالتے ہیں۔ اس کے بعد، ہم اس 'نیا نام' کو 'P_name' متغیر کو تفویض کرتے ہیں۔ پھر، ہم 'getPersonCity()' فنکشن بناتے ہیں اور 'P_city' واپس کرتے ہیں۔ اسی طرح، ہم 'setPersonCity()' نام کے ساتھ ایک اور فنکشن بناتے ہیں۔ پھر، ہم پیرامیٹر کے طور پر 'سٹرنگ سٹی' کو پاس کرتے ہیں۔

'شہر' متغیر اب 'P_city' متغیر کو تفویض کیا گیا ہے۔ 'getPersonLanguage()' یہاں اگلا فنکشن ہے جو 'P_language' کو بھی لوٹاتا ہے۔ مزید یہ کہ ہم 'setPersonLanguage()' فنکشن کی بھی تعریف کرتے ہیں اور اسے 'lang' سٹرنگ کو اس کے پیرامیٹر کے طور پر پاس کرتے ہیں۔ پھر 'lang' کو 'P_language' متغیر کو تفویض کیا جاتا ہے۔ اس کے بعد، ہمارے پاس دو اور فنکشنز ہیں، 'Lives()' اور 'speak()'، جہاں ہم 'cout()' اسٹیٹمنٹ کو استعمال کرتے ہیں۔

'main()' طریقہ پر عمل کرنے کے بعد، اب ہم کلاس کا ایک آبجیکٹ تیار کرتے ہیں جسے 'p_obj1' کہتے ہیں۔ یہاں، ہم 'setPersonName()' فنکشن چلا کر اور اس شخص کا نام جو کہ 'Samuel' ہے اس کے پیرامیٹر کے طور پر فراہم کر کے شخص کا نام سیٹ کرتے ہیں۔ اس کے بعد، ہم 'setPersonCity()' فنکشن کو کال کرکے اور 'لندن' کو پیرامیٹر کے طور پر پاس کرکے اس شخص کا شہر سیٹ کرتے ہیں۔ پھر، ہم 'setPersonLanguage()' فنکشن کا استعمال کرتے ہوئے اور 'انگریزی' کو اس کے پیرامیٹر کے طور پر پاس کرتے ہوئے اس شخص کی زبان بھی سیٹ کرتے ہیں۔ اب، ہم 'live()' اور 'speak()' فنکشنز کو 'p_obj1' کلاس کے آبجیکٹ کے ساتھ الگ الگ کال کرتے ہیں۔

کوڈ 4:

# شامل کریں

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

کلاس شخص

{

نجی :
string P_name ;
string P_city ;
string P_language ;

عوام :
باطل setPersonname ( string newName ) {
P_name = نیا نام ;
}

سٹرنگ getPersonCity ( ) {
واپسی پی_شہر ;
}

باطل سیٹ پرسن سٹی ( سٹرنگ شہر ) {
پی_شہر = شہر ;
}

سٹرنگ getPersonLanguage ( ) {
واپسی P_language ;
}

باطل setPersonLanguage ( سٹرنگ لینگ ) {
P_language = بس ;
}

باطل زندگی ( )
{


cout << P_name << ' میں رہتا ہے ' << پی_شہر << endl ;

}

باطل بولو ( )
{


cout << P_name << 'بولتا ہے' << P_language << endl ;

}

} ;

int مرکزی ( ) {

شخص p_obj1 ;
p_obj1۔ setPersonname ( 'سموئیل' ) ;
p_obj1۔ سیٹ پرسن سٹی ( 'لندن' ) ;
p_obj1۔ setPersonLanguage ( 'انگریزی' ) ;

p_obj1۔ زندگی ( ) ;
p_obj1۔ بولو ( ) ;

واپسی 0 ;


}

آؤٹ پٹ:

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

نتیجہ

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