what is c++ constructors in hindi-c++ कांस्त्रुक्टोर क्या है?

हेल्लो दोस्तों ! आज इस पोस्ट में जावा c++ constructors in hindi क्या होता है यह किस लैंग्वेज से बना होता है इसके फीचर क्या क्या होते है आज इस पोस्ट में बताया जायेगा  तो चलिए जावा java को समझते है

c++ constructors का परिचय

constructor एक तरह का member function होता है जो की class के object को initialize करता है इस function में आप class के data members (variable) को initial value को assign करते है जब भी किसी class का एक नया object को क्रिएट किया जाता है तो उस class का constructor को कॉल होता है और उसमे दी गए सभी statement execute होते है

constructor आपको किसी object को प्रयोग करने से पहले जरुरी tasks को perform करने की capability provide करते है जैसे की आप class members variables को initialize कर सकते  है database/server से connection,establish कर सकते है आदि

example के लिए मान लीजिये की आपने एक class को क्रिएट की है जिसका नाम product है इस class में आपने २ variable price औअर batchld declare किये है जैसे की निचे दिया गया है

class product
{
  private:
           int price;
            int batchld;
};

इस class का जब आप object को क्रिएट करते है तो c++ के द्वारा default constructor call किया जाता है और price और batchld variable को 0 वैल्यूज को assign होती है integer के लिए zero initial value होती है

यदि आप चाहे तो खुद भी constructor का प्रयोग करते हुए इन variable को अपनी मन चाही value से या फिर उन values से assign कर सकते है जो यूजर object को क्रिएट करते समय argument के रूप में pass करेगा निचे constructor के माध्यम से इन variables को different value को assign करने का example दिया जा रहा है

class product
{
    private:
    int price;
    int batchld;
public:
product()   //constructor
 {
price=300;
batchld=1005;
  }
};

उपर दिए गए example में constructor के अन्दर price औअर batchld variable को क्रमश: 300 और 1005 values को assign की गयी है जब भी इस class का object को क्रिएट किया जायेगा तो इन variable को ये values automatically assign हो जाएगी

जैसे की मैंने आपको बताया आप चाहे तो यूजर के द्वारा pass की गयी values से भी class variable को initialize कर सकते है ऐसे constructor को parameterized constructor कहते है इनके बारे में आपको आगे बताया जायेगा लेकिन उससे पहले आएये देखते है की constructor की क्या विशेषताए होती है

characteristics of constructor

निचे constructors की कुछ विशेषताए दी जा रही है जिनके बारे में जानकार आप constructor को और भी अच्छे तरीके से समझ सकते है

  1. constructor को public access modifier section में declare किया जाना चाहिए
  2. constructor को आप class के अन्दर भी डिफाइन कर सकते है और class बाहर भी डिफाइन कर सकते है
  3. constructor का नाम class के नाम जैसे ही होता है
  4. जब object को क्रिएट किये जाते है तो constructor automatically call हो जाते है
  5. constructors के साथ कोई return type नहीं डिफाइन किया जाता है और ये कोई value भी return नहीं करती है
  6. constructor को कोई भी class inherit नही कर सकते है हलाकि एक derived class base class के constructor को call कर सकती है
  7. constructor virtual declare नहीं किये जा सकते है

आएये अब c++ के द्वारा provide किये गए different constructor के बारे में जानने का प्रयास करते है

type of constructor

निचे आपको c++ में available अलग अलग तरह के constructor के बारे में बताया जा रहा है तो आएये इनके बारे में जानने का प्रयास करते है

default constructor

default constructor को आपको डिफाइन करने की आवश्यकता नही होती है जब आप कोई दूसरा constructor डिफाइन करते है तो c++ के द्वारा default constructor automatically क्रिएट करके call किया जाता है

normal constructor

normal constructor वे होते है जो की जिनके आप argument नहीं pass कर सकते है ऐसे constructor में आप variable को manually initialize करते है normal constructor का general syntax आपको निचे दिया जा रहा है

class-name()
{
//statement to be executed
}

आएये अब इसे example के माध्यम से समझने का प्रयास करते है introduction section में आपको normal constructor class के अन्दर क्रिएट करके बताया गया था तो आएये अब देखते है की normal constructor को class के बाहर कैसे डिफाइन करते है

#include<iostream>
Using namespace std;
Class student
{
Private:
Int rollno;
Int standard;
Public:
Student();  //constructor declaration
Void displayStu();
};
Student::student(void)
{
Rollno=1;
Standard=10;
}
Void student::displayStu(void)
{
Cout<<”roll no is :”<<rollno<<endl;
Cout<<”standard is :”<<standard<<”th”<<endl;
}
Int main()
{
Student obj1;
Obj1.displayStu();
Return 0;
}

उपर दिए गए program में निचे दिया गया output को generate करता है

Roll no is :1
standard is :10th

parameterized constructor

parameterized constructor में आप parameters डिफाइन कर सकते है object क्रिएट करते समय आप parameterized constructor को argument pass कर सकते है जो की class variable को assign की जा सकती है जो की class variable को assign की जा सकती है parameterized constructor का general syntax आपको निचे दिया जा रहा है

class-name(parameters list)
{
//standard to be executed
}

parameterized constructor को निचे example के मध्यम से समझाया जा रहा है

class square
{
      Private:
             Int num;
      Public:
             Square(int n);
              Int calsquare();
};
Square::square(int n)
{
     Num=n;
}
Int square::calsquare()
{
     Return num*num;
}
Int main()
   {
    Int result;
    Square obj1(5);
    Result=obj1.calsquare();
    Cout<<”square of 5 is :”result;
    Return 0;
}

उपर दिए गए program निचे दिया गया output को generate करता  है

square of 5 is :25

copy constructor

यदि आप चाहे तो एक object की values से किसी दुसरे object को भी initialize कर सकते है इसके लिए आप copy constructor का प्रयोग करते है copy constructor में argument के रूप में object pass किया जाता है

जब आप कोईनया object को क्रिएट करते है तो argument के रूप में जिस object को देते है उसी object की सभी value नए object में copy हो जाती है इसीलिए इस तरह के constructor को copy कहा जाता है copy constructor का general syntax निचे दिया जा रहा है

class-name(class-name & obj)
{
// statement to be executed
}

आएये अब इसे एक example के माधयम से समझने का प्रयास करते है

Class furniture
{
        Private:
               Int price;
        Public:
                Furniture(int n)  //parameterized constructor
                 {
                       Price=n;
                 }
               Furniture(furniture & obj)  //copy constructor
              {
                   Price=obj.price;
             }
               Void showprice(void);
};
Void furniture::showprice(void)
{
Cout<<”price of this object is :”<<price;
}
Int main()
{
      Furniture obj(5);
      Obj1.showprice();
      Furniture obj2(obj1);  //passing obj1 as argument for copy constructor
      Obj2.showprice();
}

उपर दिए गए program में निचे दिया गया output को generate करता है

price of this object is :5
price of this objects is :5

destructors

destructors class के members को function होते है जो की execute होने पर ही object को destroy करते है जैसे ही कोई object scope से बाहर जाता है तो destructor call हो जाता है और object destroy हो जाती है destructor automatically call होता  है

constructor की तरह ही destructor भी class के नाम से ही डिफाइन किया जाता है लेकिन destructor में आप class के नाम से पहले tilde(~) symbol लगाते है destructor में कभी भी parameters डिफाइन नहीं होती है destructor का general syntax निचे दिया जा रहा है

~class-name()
{
//statement to be executed
}

आएये अब destructor के उपयोग को example के मध्यम से समझने का प्रयास करते है

#include<iostream>
Using namespace std;
Class MyClass
{
     Public:
            MyClass()
            {
                 Cout<<”object is created”<<endl;
             }
           ~MyClass()
             {
                      Cout<<”object is destroyed”;
             }
};
Int main()
{
        MyClass obj1;
       If(3>5)
       {
      MyClass ob2;
     }
}

उपर दिए गए example में जैसे ही compiler if statement के बाहर आता है तो obj२ destroy हो जाता है ये program निचे दिया गया output को generate करता है

object is created
object is destroyed

c++ operators in hindi

reference-https://www.javatpoint.com/cpp-constructor#

निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(c++ constructors in hindi ) या post अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये और -अगर कोई topic से संबधित प्रश्न(c++ constructors in hindi ) हो तो कमेंट्स(c++ constructors in hindi ) आपके लिए ही बना है और किसी Subject(c++ constructors in hindi ) के लेकर भी कोई प्रश्न हो तो कमेंट करे

Leave a Comment