Destructors Functions in C++ in Hindi

What is Destructor Function in C++ in Hindi

Constructor function क्या होता है? इसके कितने प्रकार होते है? तथा इसका क्या कार्य होता है जानने के लिए हमारा यह पोस्ट देखें—Constructor and its Types

Destructor भी constructor function की तरह ही एक special member function होता हैं। किन्तु इसका कार्य constructor से उल्टा होता हैं। Constructor का कार्य objects को initialize करना होता हैं और destructor का कार्य objects के द्वारा घेरे गए memory को free करना होता हैं। Destructor का नाम भी Constructor की तरह ही class के नाम से रखा जाता है किन्तु इसके नाम से पहले tilde (~) का निशान होता हैं। Destructor function का न तो कोई return type होता हैं और न हीं यह कोई Parameter लेता हैं। जब program का control scope के बाहर जाता हैं अर्थात् program पूरी तरह execute हो जाता हैं तो अंत में destructor function automatic call हो जाता हैं। Program में जितने object होते हैं destructor function भी उतने ही बार call होता हैं और objects के द्वारा घेरे गए memory को free कर देता हैं।

Example:

class test
{
  private:
  	int num;
  public: 
        test();
        test(int);
        ~test();    //destructor
};

Difference between Constructor and Destructor in C++ in Hindi

Constructor और Destructor में बहुत कुछ समानता है। दोनों के नामकरण व काल होना एक जैसे ही है किन्तु दोनों के कार्य एक दूसरे के विपरीत है। इन दोनों में अंतर को निम्नलिखित टेबल से समझा जा सकता है—

Difference between Constructor and Destructor in CPP in Hindi

Example program for Destructor function in C++

C++ में Function के बारे में विस्तृत जानकारी के लिए यहाँ क्लिक करें—Functions in C++

#include<iostream>
using namespace std;
class test
{
    private:
        int num;
    public:
        test();
        test(int);
        ~test();    //destructor
};
test::test()
{
    num=0;
    cout<<"default constructor called"<<endl;
    cout<<"num = "<<num<<endl;
}
test::test(int a)
{
    num=a;
    cout<<"parameterized constructor called"<<endl;
    cout<<"num = "<<num<<endl;
}
test::~test()
{
    cout<<"destructor called"<<endl;
}
int main()
{
    test t1;
    test t2(10);
    return 0;
}

Output:

default constructor called
num = 0
parameterized constructor called
num = 10
destructor called
destructor called

Friend function क्या होता है जानने के लिए इस पोस्ट को देखें—Friend Function in C++

Share it to:

Constructor function and Its Types in C++ in Hindi

Introduction to Constructors in C++ in Hindi

C++ में function क्या होता है यह कैसे कार्य करता है जानने के लिए देखें हमारा यह पोस्ट—Functions in C++

Constructor एक special member function होता है, जिसका प्रयोग class के objects को initialize करने के लिए किया जाता हैं। constructor function का नाम class के नाम से रखा जाता हैं अर्थात् class का जो नाम होता है वही नाम constructor function का भी होता है। जब हम main() function में उस class का object बनाते हैं तो constructor function automatic call हो जाता हैं और उस object के members को initialize कर देता हैं।

Example:

Constructors and Its Types in C++ in Hindi

Types of Constructor Function in C++ in Hindi

C++ में निम्नलिखित चार प्रकार के Constructor Function होते है—

  1. Default constructor
  2. Parameterized constructor
  3. Copy Constructor
  4. Dynamic Constructor

Default Constructor

Default Constructor सबसे सामान्य प्रकार होता हैं। इसका प्रयोग objects को एक fix value से initialize करने के लिए किया जाता है।

Parameterized constructor

Parameterized Constructor ऐसा Constructor होता हैं, जिसकी सहायता से हम Parameter pass करके object को initialize कर सकते हैं।

Copy Constructor

Copy Constructor का प्रयोग एक object को दूसरे object से initialize करने के लिए किया जाता है। इसमें एक object की value को दूसरे object में copy किया जाता हैं।

Dynamic Constructor

Dynamic Constructor का प्रयोग Dynamic memory allocation में किया जाता है। इसकी सहायता से objects को Run time में बनाया जाता हैं। इसे Dynamic Creation of Object कहा जाता हैं।

Characteristics of Constructor Function in C++ in Hindi

  1. इसे हमेशा class के public section में declare किया जाता हैं।
  2. इन्हें अलग से call करने की जरूरत नहीं पड़ती है। जब उस class का object बनता है, तो यह automatic ही call हो जाता हैं।
  3. इसका कोई return type नहीं होता है अर्थात् यह कोई value return नहीं करता हैं।
  4. इनको inherit नहीं किया जा सकता हैं।
  5. Constructor function virtual नहीं हो सकता हैं।
  6. Constructor function को point नहीं किया जा सकता हैं।

Example Program for Default Constructor in C++

#include<iostream>
using namespace std;
class test
{
    private:
        int num;
    public:
        test(); //default constructor
};
test::test()
{
    num=100;
    cout<<"Default constructor called"<<endl;
    cout<<"num = "<<num;
}
int main()
{
    test t;
    return 0;
}

Output:

Default constructor called
num = 100

C++ में Class और Objects के बारे में अधिक जानने के लिए देखें—Class and Object

Share it to:

Array of objects in C++ in Hindi

Explain Array of objects in C++ in Hindi

जिस प्रकार Structure का प्रयोग करके Structure का Array या Array of Structures बनाया जा सकता है। ठीक इसी प्रकार हम Objects का Array या Array of Objects भी बना सकते है। इस प्रकार यदि Integers का Array हो सकता है तो Structures का Array भी हो सकता है और Structures का Array हो सकता है तो Classes का भी Array हो सकता है। Classes के Array को ही Array of Objects कहा जाता है। इसमें सारे Objects मेमोरी में किसी Multidimensional Array की तरह Contiguous Locations में अर्थात् एक के बाद एक स्टोर होते है।

Object Oriented Programming (OOPs) की महत्वपूर्ण अवधारणाओं जैसे— Class, Object, Inheritance, Polymorphism आदि के बारे में विस्तृत जानकारी के लिए हमारा यह पोस्ट देखें—Concepts of OOP

Array of Objects बनाना बहुत ही आसान होता है। इसे किसी सामान्य Integer Array की तरह ही Declare किया जा सकता है। इसे Declare करते समय पहले Class का नाम फिर Object का नाम फिर Subscript Operator के अंदर Array का Size देते है तथा प्रोग्राम में प्रत्येक Object को Access करने के लिए Dot Operator और Array के Index का प्रयोग करते है। यहाँ भी Index 0 से प्रारंभ होता है और Object को सूचित करता है। इसका Declaration Syntax और Example निम्नलिखित है—

Explain Array of objects in C++ in Hindi

Example program for Array of objects in C++

#include<iostream>
using namespace std;
class student
{
private:
    char name[10];
    int marks;
    float percent;
public:
    void getdata(void);
    void putdata(void);
};
void student::getdata(void)
{
    cout<<"Enter name: ";
    cin>>name;
    cout<<"Enter marks: ";
    cin>>marks;
    cout<<"Enter percent: ";
    cin>>percent;
}
void student::putdata(void)
{
    cout<<"Name: "<<name<<endl;
    cout<<"Marks: "<<marks<<endl;
    cout<<"Percent: "<<percent<<endl;
}
int main()
{
    student s[3];
    int i;
    cout<<"Enter data of students:"<<endl;
    cout<<"_______________________"<<endl;
    for(i=0;i<3;i++)
    {
        s[i].getdata();
        cout<<endl;
    }
    cout<<"Entered data are:"<<endl;
    cout<<"________________________"<<endl;
    for(i=0;i<3;i++)
    {
        s[i].putdata();
        cout<<endl;
    }
    return 0;
}

Output:

Array of objects in C++ program output

C++ Language एवं इसके इतिहास के बारे में अधिक जानने के लिए हमारा यह पोस्ट देखें—Brief Introduction of C++

Share it to:

Access Specifiers Modifiers or Visibility Levels in C++ in Hindi

What are Access Specifiers or Visibility Levels in C++ in Hindi

C++ में Class और Object क्या होता है इनका प्रोग्राम कैसे लिखते है जानने के लिए देखें—Class and Object

C++ में Access specifiers का प्रयोग class के members के लिए access permission निर्धारित करने के लिए किया जाता हैं। इसमें private, public व protected ये तीन तरह के access modifier होते हैं। इन तीनों keywords का प्रयोग करके ही हम class के members को private, public व protected declare करते है। इस प्रकार access specifier यह निर्धारित करते हैं कि class के members को किसी बाहरी function के द्वारा access किया जा सकता हैं कि नहीं। Access specifiers को access modifiers या visibility levels भी कहा जाता हैं।

  1. Private access specifier
  2. Protected access specifier
  3. Public access specifier
Access Specifiers Modifiers or Visibility Levels in C++ in Hindi

Private access specifier

Private access specifier के अंर्तगत declare किए गए members को केवल उसी class के functions के द्वारा ही access किया जा सकता है। ये किसी बाहरी function के access से सुरक्षित होते हैं। इसके अंतर्गत declare किया गया डेटा किसी बाहरी function से पूर्णतः छुपा हुआ व सुरक्षित रहता है।

Protected access specifier

Protected  access specifier के अंर्तगत declare किए गए members को भी बाहरी functions के द्वारा access नहीं किया जा सकता किन्तु इसके immediate derived class के function इन्हें access कर सकते हैं। इसमें डेटा private से कम किन्तु public से अधिक छुपा हुआ रहता है।

Public access specifier

Public access specifier के अंर्तगत declare किए गए members को किसी भी बाहरी class के functions के द्वारा access किया जा सकता हैं। इसलिए इसमें सामान्यतः functions को ही declare किया जाता है तथा data को private एवं protected में declare किया जाता हैं। इसमें डेटा बाहरी functions से छुपा हुआ नहीं रहता है।

Object Oriented Programmings (OOPs) के विभिन्न Concepts को जानने के लिए देखिए हमारा यह पोस्ट—Concepts of OOP

Share it to:

Classes and Objects in C++ in Hindi

Explain Classes and Objects in C++ in Hindi

Object Oriented Programming (OOPs) की अन्य सभी महत्वपूर्ण अवधारणाओं के बारे में जानने के लिए देखें—Concepts of OOP

Class और Object Object Oriented Programming(OOPs) के दो महत्वपूर्ण अवधारणें है। इनका विस्तृत वर्णन निम्नलिखित है—

Class

Class एक user-defined डेटा टाईप होता है और objects class type के variable होते है। हम जानते है कि object oriented system में समस्या को हल करने के लिए सबसे पहले हम समस्या से संबंधित entities का मॉडल बनाते जिन्हें objects कहते  है। लेकिन objects बनाने से पहले हमें उसobjects के लिए class को define करने की आवश्यकता होती  है। एक बार class को define कर देने के बाद हम उस class से संबंधित कितने भी objects बना सकते है। प्रत्येक object के पास उस class के data एवं functions का set होता है जिससे वे संबंधित होते है। Class के अंदर defineकिए गए सभी data एवं functions  उस class के member कहलाते है। Class definition सामान्यतः दो भागों private और public में विभाजित रहता है। हम सामान्यतः data को private भाग में तथा functions को public भाग में declare करते है किन्तु ऐसा करना जरूरी नहीं होता है। एक महत्वपूर्ण बात जो यहा ध्यान देनी चाहिए कि जब हम class को define करते है तो इसकेmembers के लिए कोई मेमोरी allocate नहीं होती है। Members के लिए मेमोरी केवल तबallocate होती है जब हम उस class का object बनाते है और यह प्रत्येक objects के लिए अलग-अलग allocate होती है।

Class definition syntax:

class class_name
{
     private:
          member data;
     public:
          member functions;
};

Class definition example:

class student
{
     private:
          char name[10];
          int marks;
          float percent;
     public:
          void getdata(void);
          void putdata(void);
};

Object

Object समस्या से संबंधित entities के model होते है। वास्तव में object संबंधित data व functions के समूह होते है। इन्हें object oriented system में basic run time entities भी कहते है। ये समस्या के वास्तविक दुनिया के entities जैसे—student, customer, products को represent करते है जिन्हें प्रोग्राम को handle करना होता है। वास्तविक दुनिया में प्रत्येक entity के कुछ न कुछ data व functions होते है। उदाहरण के लिए यदि entity कोई student है तो name, marks, percent आदि इसके data हो सकते है तथा getdata, putdata आदि इसके function हो सकते है। एक object के अंतर्गत आने वाले data को केवल उसी object के functions के द्वारा ही access किया जा सकता है। किन्तु एक object के अंतर्गत आने वाले functions को दूसरे object के functions के द्वारा भी access किया जा सकता है। इस प्रकार OOP में data बाहरी object से छिपा हुआ व सुरक्षित रहता है।

Object creation syntax:

class_name object_name;

Object creation example:

student s1;
Representation of Object
Fig. Representation of Object

Example program for Class and Object in C++

#include<iostream>
using namespace std;
class student
{
private:
    char name[10];
    int marks;
    float percent;
public:
    void getdata(void);
    void putdata(void);
};
void student::getdata(void)
{
    cout<<"Enter name: ";
    cin>>name;
    cout<<"Enter marks: ";
    cin>>marks;
    cout<<"Enter percent: ";
    cin>>percent;
}
void student::putdata(void)
{
    cout<<"Name: "<<name<<endl;
    cout<<"Marks: "<<marks<<endl;
    cout<<"Percent: "<<percent<<endl;
}
int main()
{
    student s1,s2;
    s1.getdata();
    s2.getdata();
    s1.putdata();
    s2.putdata();
    return 0;
}

Output

Example program for class and object in C++
Share it to: