C++ में Constructor क्या है? आसान भाषा में समझें
C++ में Constructor क्या है? इस post में Constructor की definition, types, syntax, examples और working को आसान हिंदी में समझें। साथ ही…
C++ में Constructor क्या है? आसान भाषा में समझें
इस post में हम C++ में Constructor क्या है, यह कैसे काम करता है और इसका उपयोग क्यों किया जाता है, इसे आसान भाषा और examples के साथ समझेंगे।
C++ में कंस्ट्रक्टर क्या है?
C++ में Constructor एक विशेष Member function होते हैं जो Object oriented programming में महत्त्वपूर्ण भूमिका निभाते है।
- जब आप एक Class के एक Object का निर्माण करते हैं तब constructor स्वत: ही Call हो जाता है अर्थात आपको इसे Call करने की जरूरत नहीं होती है।
- इसका नाम Class के नाम के समान है।
- यह कोई value return नहीं करता।
- Constructors का उपयोग object को शुरूआती value (initial values) देने के लिए होता है।
एक Constructor का प्राथमिक उद्देश्य यह होता है कि object को उपयोग करने से पहले उसे सही तरीके से Initialize किया जाए।
यदि आप एक Constructor नही लिखते तो Compiler आपको एक Default constructor देता है।
Definition of Constructor in C++ in Hindi
"Object को अपने-आप शुरू (Initialize) करने के लिए एक खास Member Function होता है, जिसे Constructor कहते हैं। Object बनते ही Constructor अपने-आप call हो जाता है।"
Syntax
class-name (){
//Body of constructor
}
ऊपर Syntax में:
- class-name, constructor का नाम है
- Body of constructor में वह Code लिखा जाएगा जो Constructor के स्वत: Call अर्थात Class के Object के निर्माण होने पर Execute होगा
Features of Constructor in C++ in Hindi - कंस्ट्रक्टर की विशेषताएं
एक Constructor की निम्न विशेषताएं होते हैं
- जब ऑब्जेक्ट बनाया जाता है, तो यह अपने-आप रन होता है।
- इसका नाम क्लास के नाम के समान होता है।
- इसका कोई रिटर्न टाइप नहीं होता,
voidभी नहीं। - यह ऑब्जेक्ट के वेरिएबल्स को शुरुआती मान देता है। इसे पब्लिक सेक्शन में लिखा जाता है।
- एक क्लास में अलग-अलग पैरामीटर वाले एक से अधिक कंस्ट्रक्टर हो सकते हैं।
Type of constructor in C++ in hindi - कंस्ट्रक्टर के प्रकार
C++ में Constructor के विभिन्न प्रकार होते है जो निम्न है।
- Default constructor
- Parameterized Constructor
- Copy Constructor
Default constructor
यह कोई arguments या parameters नही लेता। जब एक Object को बिना arguments पास किए बनाया जाता है तब Default constructor स्वत: ही call हो जाता है।
यदि आपने अपने Program में कोई भी Constructor define नही किया है तो भी Compiler एक Default constructor देता है।
यह Objects को Default values(0 या null) के साथ Initialize करता है।
Syntax:
className() {
// Default constructor body
}
Program for Default constructor
#include<iostream>
using namespace std;
class Message{
public:
//Default constructor
Message(){
cout<<"This is default constructors"<<endl;
cout<<"It doesn’t take any parameters and does not return any values"<<endl;
}
};
int main(){
Message obj;
return 0;
}
Output:
This is default constructors
It doesn’t take any parameters and does not return any values
Explanation:
- Class का नाम: प्रोग्राम में
Messageनाम की एक क्लास बनाई गई है। बिना वैल्यू वाला - Constructor: इसमें एक Default Constructor है, जो कोई भी वैल्यू (Parameters) नहीं लेता
- सरल काम: जब भी यह चलता है, बस एक मैसेज प्रिंट कर देता है।
- अपने आप चलना:
mainफंक्शन मेंobjनाम का ऑब्जेक्ट बनते ही, यह अपने आप (Automatically) कॉल हो जाता है।
Parameterized Constructor
यह Constructor एक या अधिक arguments या parameters लेता है।
एक Objects के बनने पर उसे विशेष values देकर initialize किया जाता है।
Parameterized constructor, ऑब्जेक्ट के निर्माण के समय अलग अलग values को set करने की सुविधा देता है।
एक क्लास में अलग अलग पैरामीटर्स(arguments)के साथ कई Parameterized constructor हो सकते हैं।
यह आपके समय को बचाता है क्योंकि वैल्यू देने के लिए आपको अतिरिक्त फंक्शन की जरूरत नहीं होती।
Syntax:
ClassName(Parameter list){
// Parameterized constructor body
}
Program Parameterized constructor
#include<iostream>
using namespace std;
class Student{
int roll_num;
string name;
public:
//Definition of parameterized constructor
Student(int rn, string n){
roll_num = rn;
name = n;
}
void Displaydata(){
cout<<"Rollnumber: "<<roll_num<<endl;
cout<<"Name: "<<name<<endl; }
};
int main(){
Student std1(101, "Rohit");
Student std2 (102, "Anil");
std1.Displaydata();
std2.Displaydata();
return 0;
}
Output:
Rollnumber: 101
Name: Rohit
Rollnumber: 102
Name: Anil
Explanation:
- Create class : Student नाम की class में Rollnumber और Name दो variables हैं। Give
- value(Constructor): इसमें एक Parameterized Constructor है जो rn और n के रूप में बाहर से वैल्यू लेता है और उन्हें Rollnumber और Name में सेट कर देता है।
- Display data: Displaydata फंक्शन जानकारी प्रिंट करता है।
- Create object: main में दो objects अलग-अलग वैल्यू के साथ बनाए गए हैं।
- Printing: Displaydata function को कॉल करके जानकारी प्रिंट की जाती है।
Copy Constructor
Copy constructor, एक विशेष function होते हैं जो पहले से मौजूद object की Copy करने के द्वारा एक नए Object का निर्माण करता है।
Copy constructor यह सुनिश्चित करने मे मदद करता है कि नए object उसी value को प्राप्त करे जो Original object में है।
यदि आप खुद Copy Constructor नहीं लिखते, तो कंपाइलर अपने-आप एक डिफ़ॉल्ट Copy Constructor बना देता है।
इस Constructor को उस समय Call किया जाता है
जब आप एक ऑब्जेक्ट की Copy करते है।
जब हम किसी ऑब्जेक्ट को उसकी वैल्यू के साथ फंक्शन में भेजते हैं।
एक function से object return करते हैं।
यह उसी Class के अन्य Object को Argument की तरह लेता है।
Syntax:
class-name(const class-name & objectName)
{
//Body of Copy constructor
}
Program for Copy constructor
#include<iostream>
using namespace std;
class Student{
int roll_num;
string name;
public:
//Definition of parameterized constructor
Student(int rn, string n){
roll_num = rn;
name = n;
}
//Definition of Copy Constructor
Student(const Student &ref){
roll_num = ref.roll_num;
name = ref.name;
}
void Displaydata(){
cout<<"Rollnumber: "<<roll_num<<endl;
cout<<"Name: "<<name<<endl; }
};
int main(){
//Using the parameterized constructor to create an object
Student std1(101, "Rohit");
std1.Displaydata();
//Using the copy constructor to create an object
Student std2=std1;
std2.Displaydata();
return 0;
}
Output
Rollnumber: 101
Name: Rohit
Rollnumber: 101
Name: Rohit
Explanation:
- Class बनाना: Student नाम की एक class बनाई जाती है, जिसमें दो data members होते हैं – roll_num और name
- Parameterized Constructor: Student(int rn, string n) constructor के द्वारा roll_num और name को दी गई values से initialize किया जाता है।
- Copy Constructor: Student(const Student &ref) पहले से बने हुए object की roll_num और name को कॉपी करके नया object बनाता है। इससे पुराने object की जानकारी नए object में भी आ जाती है।
- Member Function: Displaydata() function student का roll number और name प्रिंट करता है।
- Main Function: Student std1(101, "Rohit"); इससे std1 object बनता है। Student std2 = std1; इससे copy constructor की मदद से std2, std1 की कॉपी बन जाता है। जब दोनों objects का Displaydata() call किया जाता है, तो दोनों में एक जैसी values दिखाई देती हैं।
Uses of Constructor in C++ in Hindi - कंस्ट्रक्टर के उपयोग
- एक constructor का मुख्य उपयोग यह है कि जब object बनाया जाता है, तो उसके data members (variables) को प्रारंभिक (initial) values दी जाती हैं।
- जब object का निर्माण होता है, तो constructor अपने आप run होता है। आपको इसे अलग से call करने की जरूरत नहीं होती।
- यह object के लिए memory या अन्य resources भी reserve कर सकता है।
- यदि कोई value नहीं दी जाती, तो default constructor स्वयं सुरक्षित default values प्रदान करता है।
- Parameterized constructor object बनाते समय अलग-अलग values सेट करने की सुविधा देता है।
- Copy constructor किसी अन्य object की कॉपी तैयार करता है।
👉GitHub पर C++ Opp Programs के सारे Source Code देखें
Multiple constructor in a class in C++ in hindi
Program for Multipleconstructor in a class
#include<iostream>
using namespace std;
class Student{
int roll_num;
string name;
public:
//Definition of default constructor
Student(){
roll_num = 0;
name = "unknown";
}
//Definition of parameterized constructor
Student(int rn, string n){
roll_num = rn;
name = n;
}
//Definition of Copy Constructor
Student(const Student &ref){
roll_num = ref.roll_num;
name = ref.name;
}
void Displaydata(){
cout<<"Rollnumber: "<<roll_num<<endl;
cout<<"Name: "<<name<<endl; }
};
int main(){
//Using the parameterized constructor to create an object
Student std1(10, "Anil");
std1.Displaydata();
//Using the copy constructor to create an object
Student std2=std1;
std2.Displaydata();
return 0;
}
Output:
Rollnumber: 10
Name: Anil
Rollnumber: 10
Name: Anil
इसे भी पढ़ें 👇
- **C++ में Destructor क्या है**
- **Access Specifiers (Public, Private) का महत्व**
- **C++ Memory Allocation and Management (new & delete) in Hindi**
- **C++ में Abstract Class को आसान भाषा में समझें**
- **Static Data Members और Static Functions की जानकारी**
- **C++ में Array of Objects को आसान भाषा में समझें**
메타데이터
- post_id
- 2ad419ed9c2d
- slug
- c-में-constructor-क्या-है-आसान-भाषा-में-समझें-2ad419ed9c2d
- url
- https://medium.com/@chandanjain326/c-%E0%A4%AE%E0%A5%87%E0%A4%82-constructor-%E0%A4%95%E0%A5%8D%E0%A4%AF%E0%A4%BE-%E0%A4%B9%E0%A5%88-%E0%A4%86%E0%A4%B8%E0%A4%BE%E0%A4%A8-%E0%A4%AD%E0%A4%BE%E0%A4%B7%E0%A4%BE-%E0%A4%AE%E0%A5%87%E0%A4%82-%E0%A4%B8%E0%A4%AE%E0%A4%9D%E0%A5%87%E0%A4%82-2ad419ed9c2d
- canonical_url
- https://medium.com/@chandanjain326/c-%E0%A4%AE%E0%A5%87%E0%A4%82-constructor-%E0%A4%95%E0%A5%8D%E0%A4%AF%E0%A4%BE-%E0%A4%B9%E0%A5%88-%E0%A4%86%E0%A4%B8%E0%A4%BE%E0%A4%A8-%E0%A4%AD%E0%A4%BE%E0%A4%B7%E0%A4%BE-%E0%A4%AE%E0%A5%87%E0%A4%82-%E0%A4%B8%E0%A4%AE%E0%A4%9D%E0%A5%87%E0%A4%82-2ad419ed9c2d
- author_url
- https://medium.com/@chandanjain326
- status
- ok
- fetched_at
- 2026-06-09 15:37:30