Complete-Preparation

๐ŸŽ‰ One-stop destination for all your technical interview Preparation ๐ŸŽ‰

View the Project on GitHub

Constructors and Destructors

Constructor

class Class_name {
    int data_member1;
    string data_member2;
    // creating constructor
public:
    class_name() { }
};

Types of Constructor

  1. Default Constructor A constructor that doesnโ€™t take any argument or has no parameters is known as a default constructor

    class Class_name {
        int data_member1;
        string data_member2;
    public:
        // default constructor
        class_name() {
            data_member1 = 0;
            data_member2 = "chetan";
        }
    };
    
  2. Parameterized Constructor This is another type of Constructor with parameters. The parameterized constructor takes its arguments provided by the programmer. These arguments help initialize an object when it is created.

    class Class_name {
        int data_member1;
        string data_member2;
    public:
        // parameterized constructor
        class_name(int a, string b) {
            data_member1 = a;
            data_member2 = b;
        }
    };
    
  3. Copy Constructor These are a particular type of constructor that takes an object as an argument and copies values of one objectโ€™s data members into another object.

    class Class_name {
        int data_member1;
        string data_member2;
    public:
        // copy constructor
        class_name(Class_name &obj) {
            // copies data of object parameter
            data_member1 = obj.data_member1;
            data_member2 = obj.data_member2;
        }
    };
    

Constructor Overloading

Constructor overloading can be defined as the concept of having more than one constructor with different parameters so that every constructor can perform a different task.

class Class_name {
    int data_member1;
    string data_member2;
public:
    // default constructor
    class_name() {
        data_member1 = 0;
        data_member2 = "chetan";
    }
    // parameterized constructor
    class_name(int a, string b) {
        data_member1 = a;
        data_member2 = b;
    }
    // copy constructor
    class_name(Class_name &obj) {
        // copies data of object parameter
        data_member1 = obj.data_member1;
        data_member2 = obj.data_member2;
    }
};

Destructor

When Destructor is called?

Destructor rules

Interview Questions

Resources