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:

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:

Basic Concepts of OOPs in Hindi

Introduction to some Basic Concepts of OOPs in Hindi

Object Oriented Programmings (OOPs) वर्तमान में प्रोग्रामिंग करने का सबसे नया Approach है। इसकी कुछ महत्वपूर्ण और मूलभूत अवधारणाएँ निम्नलिखित है—

Object Oriented Programmings (OOPs) is currently the newest Approach to do programming. Following are some important and basic concepts of OOP:

POP और OOP में क्या अंतर होता है जानने के लिए देखें—POP vs OOP

Basic Concepts of Object Oriented Programmings OOPs in Hindi

Object

Objects are the model of entities related to the problem. They are actually the group of data and functions. They are also called basic run time entities in object oriented system. They represents real world entities of problem such as student, customer, products program has to handle. In real world each entity has some data and some functions. For example if the entity is a student then data would be name, marks, percent etc. and functions would be getdata, putdata etc. The data of one object can only be accessed by the functions of that object. However the functions of one object can be accessed by the functions of another object. Thus in OOP data are hidden from outside objects and remains secure.

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 in OOPs in Hindi
Fig. Representation of Object

Class

Class is a user-defined data type and objects are the variable of type class. We know that In object oriented system for solving problem we first create model of entities related to the problem called objects. But before creating objects we need to define class for that objects. Once a class has been defined we can create any number of objects belonging to that class. Each object has a set of data and functions of type class to which they are belonged. All data and function defined within class are called member of that class. Class definition is generally divided into two section: private and public. We generally declare data in private section and functions in public section but it is not necessary. One important thing to be notice here is that when we define class there no memory is allocated for members of class. Memory is allocated for members only when we create objects of that class and it allocated for each object separately.

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);
};

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

Encapsulation

Encapsulation refers to the process of wrapping up data and functions into single unit known as class. Data that are wrapped into a class can only be accessed by the functions of that class. It is completely hidden from non-class functions. This hiding of data from access of non-class functions is sometimes called data hiding too.

Encapsulation एक ऐसी प्रक्रिया है जिसमें हम data एवं functions को एक  single unit के अंतर्गत एक साथ रखते है जिसे class कहते है। एक class के अंतर्गत आने वाले data को केवल उसी class के functions के द्वारा ही access किया जा सकता है। यह non-class functions से पूरी तरह से छिपा हुआ रहता है। इस प्रकार non-class functions के पहुँच से data को छिपाकर रखने को कभी-कभी data hiding भी कहा जाता है।

Abstraction

Abstraction refers to the process of providing only necessary information without explaining their background implementations. Classes use the concept of abstraction and therefore they are also called abstract data types (ADT). Generally they contains list of data and functions and implementations of all functions are placed outside the class.

Abstraction एक ऐसी प्रक्रिया है जिसमें केवल जरूरी information को ही बताया जाता है और उनके पिछे के कार्य करने के तरीके को नहीें बताया जाता। Classes abstraction के सिद्धांत का प्रयोग करती है इसीलिए इन्हें abstract data types (ADT) भी कहा जाता है। सामान्यतः वे data एवं functions को रखती है और सारे functions की coding class के बाहर होती है।

Inheritance

Inheritance is a process by which objects of one class acquire the properties of objects of another class. For this we need to create new class from existing class instead of creating it differently. Here the existing class is called base class and the new class is called derive class. The derive class will have its own new properties as well as all properties of its base class. Inheritance provides us an idea of reusability. This means we can add extra features to an existing class without modifying it. It saves our time and efforts of programming and also increases the reliability of program.

Inheritance एक ऐसी प्रक्रिया है जिसके द्वारा एक class के objects दूसरे class के properties को प्राप्त करते है। इसके लिए हमें नए class को अलग से बनाने के बजाय इसे पहले से ही बने class से बनाना होता है। यहा पहले से बने class को base class तथा बनाए गए नए class को derive class कहते है। Derive class के पास  अपनी खुद की नयी properties होती है साथ ही इसके base class की भी सभी properties भी होती है। Inheritance हमें reusability का विचार देता है।  इसका मतलब है कि हम पहले से बने हुए class में परिवर्तन किए बिना इसमें और भी features जो़ड़ सकते है। यह हमारे programming के समय और श्रम को बचाता है और program की विश्वसनीयता को बढ़ाता है।

Polymorphism

Polymorphism meas one name many forms. It is an ability of function and operator to take different forms in different situations. It is also called function overloading and operator overloading. In both of above overloading we uses same function name and operator symbol to perform different tasks according to arguments passed by user. Both of above are an example of compiletime polymorphism in which what task is to be done is decided during compilation of program. Apart from compiletime polymorphism there is also a type of polymorphism which is called runtime polymorphism  in which what task is to be done is decided during execution of program. Virtual function is an example of runtime polymorphism.

Polymorphism का अर्थ एक नाम अनेक रूप होता है। यह function और operator की अलग-अलग परिस्थिति में अलग-अलग रूप लेने की क्षमता होती है। इसे function overloading और operator overloading भी कहा जाता है। उपर्युक्त दोनो प्रकार के overloading में हम एक ही function name और operator symbol का प्रयोग यूजर द्वारा दिए गए arguments के अनुसार अलग-अलग कार्य करने के लिए करते है। ये दोनों compiletime polymorphism के उदाहरण है जिसमें क्या कार्य करना है यह प्रोग्राम के compilation के समय ही निर्धारित कर लिया जाता है। Compiletime polymorphism से अलग एक और प्रकार का भी polymorphism होता है जिसे runtime polymorphism कहते है जिसमें क्या कार्य करना है यह प्रोग्राम के execution के समय निर्धारित किया जाता है। Runtime polymorphism का उदाहरण Virtual function होता है।

C++ के बारे में अधिक जानने के लिए देखें—Brief Introduction of C++

Basic example programs in C++

  1. Sum of two entered numbers
  2. Average of three entered numbers
  3. Simple interest
  4. Total and Percent
  5. Swapping values of two variables
  6. Swapping without using third variable
  7. Celsius to Fahrenheit conversion
  8. Find area and circumference of circle
Share it to: