हेल्लो दोस्तों आज के इस पोस्ट में आपको C++ Classes & Object in hindi के बारे में बताया गया है की इसे कैसे प्रयोग करते है तो चलिए शुरू करते है
Contents
C++ classes & object का परिचय
- C language में आप structure के बार्मे आप पढ़ चुके है जिसमे structure एक बहुत ही important concept होता है C++ में object oriented paradigm को सपोर्ट करने के लिए ही structures को classes के रूप में extend करके include किया गया है
- एक class में भी structure की तरह ही अलग अलग data type के variable का group होती है लेकिन क्लासेज(classes) में आप function भी create कर सकते है जो की structure में possible नहीं होता है
- एक class data(variable) और उससे related functions को एक साथ bind करने का माध्यम होती है जो की क्लासेज में आप variable और function को outside का प्रयोग से hide भी कर सकते है
- जैसे की आपको data types की पोस्ट में पहले ही बताया गया है की class एक user defined data type होती है जो की class type किसी normal built in type की तरह ही act करती है
- class type के variables को objects कहा जाता है इन objects पर आप normal variable की तरह ही different operation को perform कर सकते है
- classes के अन्दर create किये गए variables को data members कहा जाता है और functions को members function कहा जाता है
आप देखेंगे की तो पाएंगे की structure और क्लासेज का basic format एक जैसे ही होता है लेकिन structure limited होते है structure की कुछ limitations आपको निचे दी जा रही है
- structure variable में आपस में कोई भी operation को perform नहीं किये जा सकते है
- structure में data को hide करने का कोई भी mechanism नहीं होता है पूरा data public होता है
- एक structure के द्वारा ही declare किये गए members को दूसरा structure नहीं प्रयोग कर सकते है
- structure में function को नहीं declare किया जा सकता है
structure में जहा पर उपर दी गयी limitation पाई जाती है वाही ये ही limitation classes में features को बन जाती है क्लासेज के कुछ feature के बारे में आपको निचे दिया जा रह है
- class object(variables) के साथ ही आप operation को perform कर सकते है
- classes में आप data(variable,function ) को hide कर सकते है इसके लिए आपको access modifiers को provide किये जाते है
- एक class में declare किये गए public members को दूसरी class का प्रयोग कर सकती है इसे inheritance कहा जाता है
- classes reference type होती है जो की यानी सभी operations को सीधे original variables को effect करते है
access modifiers
data protection classes का एक बहुत ही विशेष feature होता है जो की classes आपको data के access को control करने की capability को provide करती है इसके लिए C++ आपको 3 access modifiers को provide करती है जब आप variables या functions को create करते है तो इन modifiers को data types से पहले डिफाइन करते है जिनके बारे में आपको निचे बताय जा रहा है
- public-जो variables या function public को declare किये जाते है उनको कोई भी दूसरी class को access कर सकती है
- private-जो variables या functions private को declared होते है उन्हें आप class के बहार नहीं access कर सकते है by default सभी member को private होते है
- protected-जो variables या functions को protected होते है उन्हें ही सिर्फ वाही class को access कर सकती है जो current class को extend करती है
access modifiers का प्रयोग करने का example आपको निचे दिया जा रहा है
public int age;
उपर दिए गए example में int type का variable को create किया गया है इस variable को public access modifiers के साथ declare किया गया है इस variable को class के बाहर आसानी से ही access किया जा सकता है
creating a class
class को create करना c language में structure को create करने जैसे ही होता है इसके लिए आप class keyword का प्रयोग करते है class को create करने का general syntax आपको निचे दिया जा रहा है
class class-name { Private: Variables declaration; Functions declaration; Public: Variables declaration; Functions declaration; };
जैसे की उपर दिए गए syntax में आप देख रहे है की सबसे पहले class keyword को डिफाइन किया गया है इसके बाद class का नाम दिया गया है एक प्रोग्राम में एक से अधिक classes हो सकती है इसलिए सभी classes का नाम unique होना चाहिए
class के अन्दर आप access modifiers का प्रयोग करते हुए data members और members function को डिफाइन करते है सबसे पहले private data members और functions को डिफाइन किया जाता है इसके बाद public data members और function को डिफाइन किया जाता है यदि आप कोई modifiers को डिफाइन नहीं करते है तो by default सब कुछ private होता है
इसलिए यदि आप चाहे तो private modifiers को न डिफाइन करके सीधे भी variables और functions को डिफाइन कर सकते है जैसे की निचे दिया देय syntax में दिय जा रह है
Class class-name { Variable declarations; Function declarations; Public: Variables declarations; Functions declarations; };
यदि आप कोई भी private variables को declare नहीं करना चाहते है तो सीधा public modifiers भी डिफाइन कर सकते है जिसका आपको syntax निचे दिया जा रहा है
class class-name { public: variable declarations; functions declarations; };
तो आएये अब इसे एक example के माध्यम से समझने का प्रयास करते है
Class Employeeinfo { Private: Int salary=10000; Public: Char name[10]; Int age; Void insertinfo(void); Void displayinfo(void) { Cout<<”Name is :”<<name<<endl; Cout<<”Age is :”<<age<<endl; Cout<<”salary is :”<<salary; } };
creating objects
integer ,float और character आदि की तरह ही class भी एक type की होती है class type के variables को objects कहा जाता है एक बार जब आप class type को declare कर ले तो आप उसके object (variable) को create कर सकते है ऐसा किसी हबी normal type के variable की तरह ही किया जाता है
इन object के माध्यम से आप class के public member function को class के बाहर से call कर सकते है और class के public variable को initialize भी कर सकते है
एक class के आप कितने भी object को create कर सकते है जैसे ही आप कोई object को create करते हैतो उसे class member की size के according मेमोरी को allocate हो जाती है
class का object को create करने का general syntax आपको निचे दिया जा रहा है
class-name object-name;
आप चाहे तो एक ही statement में एक साथ कई objects को create कर सकते है
class-name obj1 ,obj2 ,.....objN;
तो आएये अब इसे एक example से समझने का प्रयास करते है मान लीजिये की आप उपर declare की गयी Employeeinfo class का object को create करना चाहते है तो ऐसा आप इस प्रकार से कर सकते है
Employeeinfo emp1;
defining functions for classes
किसी भी class के लिए आप function को 2 प्रकार से create कर सकते है पहले में आप class के अन्दर ही function को डिफाइन करते है जब की आप इसे तरीके से class के लिए function को declare करने की आवश्यकता नहीं होती है आप सीधा ही function की definition लिखते है
दुसरे तरीके में आप स्कोप resolution के operator(::) के माध्यम से class के बाहर function को डिफाइन करते है इस तरीके में पहले आप class के अन्दर function को declare करते है उसके बाद आप class के बाहर function की definition को provide करते है
class के अन्दर function को किसी भी normal function की तरह ही डिफाइन किया जाता है class के बाहर function को डिफाइन करने के लिए इसका general syntax आपको निचे दिया जा रहा है
function-return-type class-name::function- name(parameters-list) { //statements to be executed }
सबसे पहले आप function को return type को डिफाइन करते है बाद में आप class का नाम को डिफाइन करते है इसके बाद आप scope resolution operator(::) को लगाया जाता है उसके बाद function का नाम और brackets में पैरामीटर की list दी जाती है
example
निचे c++ में classes के प्रयोग का एक complete example दिया जा रहा है इस example में 2 functions को create किये गए है एक function को class के अन्दर डिफाइन किया गया है और दुसरे को class के बाहर डिफाइन किया गया है ये example आपको बताया है की आप कसी प्रकार से class को create कर सकते है classes के लिए functions को डिफाइन कर सकते है और object को create कर सकते है
#include<iostream> Using namespace std; Class EmployeeInfo { Private: Int salary=10000; Public: Char name[20]; Int age; Void insertinfo(void); Void displayinfo(void); { Cout<<endl; Cout<<”name is :”<<name<<endl; Cout<<”age is :”<<age<<endl; Cout<<”salary is:”<<salary; } EmployeeInfo() { Salary=10000; } }; Void EmployeeInfo::insertinof(void) { Cout<<”enter your name…”; Cin.getline(name,20,’\n’); Cout<<”enter your age…”; Cin>>age; } Int main() { Employeeinfo obj1; Obj1.insertinfo(); Obj1.displayinfo(); Return 0; }
उपर दिए गए प्रोग्राम में निचे दिया गया आउटपुट को generate करता है
Enter your name c3school enter your age 29 name is :c3school age is :29 salary is :10000
reference-https://www.geeksforgeeks.org/c-classes-and-objects/
निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(C++ Classes & Object in hindi) अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये अगर कोई topic(C++ Classes & Object in hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject(C++ Classes & Object in hindi) के लेकर भी कोई प्रश्न हो तो कमेंट करे