Introduction to c++ constructors
Views
ऊपर दिए गए उदाहरण में constructor के अंदर price और batchId variables को क्रमशः 300 और 1005 values assign की गयी है। जब भी इस class का object create किया जाएगा इन variables को ये values automatically assign हो जाएगी।
Introduction to constructors
Constructor एक तरह का member function होता है जो class के objects को initialize करता है। इस function में आप class के data members (variables) को initial value assign करते है। जब भी किसी class का एक नया object create किया जाता है तो उस class का constructor call होता है और उसमें दिए गए सभी statements execute होते है।
उदाहरण के लिए मान लीजिये आपने एक class create की है, जिसका नाम Product है। इस class में आपने 2 variables price और batchId declare किये है। जैसा की नीचे दिया गया है।
class product
{
private:
int price;
int batchId;
};
इस class का जब आप object create करते है तो C++ के द्वारा default constructor call किया जाता है और price और batchId variables को 0 values assign होती है। Integers के लिए zero initial value होती है।
यदि आप चाहे तो खुद भी constructor का यूज़ करते हुए इन variables को अपनी मन चाही value से या फिर उन values से assign कर सकते है जो user object create करते समय argument के रूप में pass करेगा। नीचे constructor के माध्यम से इन variables को different value assign करने का example दिया जा रहा है।
class product
{
private:
int price;
int batchId;
public:
product() //constructor
{
price=300;
batchId=1005;
}
};
ऊपर दिए गए उदाहरण में constructor के अंदर price और batchId variables को क्रमशः 300 और 1005 values assign की गयी है। जब भी इस class का object create किया जाएगा इन variables को ये values automatically assign हो जाएगी।
जैसा की मैने आपको बताया आप चाहे तो user के द्वारा pass कि गयी values से भी class variables को initialize कर सकते है। ऐसे constructor को parameterized constructor कहते है। इनके बारे आपको आगे बताया जायेगा। लेकिन उससे पहले आइये देखते है की constructors की क्या विशेषताएँ होती है।
Characteristics of constructors
निचे constructors की कुछ विशेषताएँ दी जा रही है जिनके बारे में जानकार आप constructors को और भी अच्छे तरीके से समझ सकते है।
Constructors को public access modifier section में declare किया जाना चाहिए। Constructors को आप class के अंदर भी define कर सकते है और class के बाहर भी define कर सकते है।
Constructor का नाम class के नाम जैसा ही होता है। जब objects create किये जाते है तो constructors automatically call हो जाते है। Constructor के साथ कोई return type नहीं define किया जाता है और ये कोई values भी return नहीं करते है। Constructors को कोई भी class inherit नहीं कर सकती है। हालाँकि एक derived class base class के constructor को call कर सकती है। Constructors virtual declare नहीं किये जा सकते है।
आइये अब C++ के द्वारा provide किये गए different constructors के बारे में जानने का प्रयास करते है।