Ad

Monday, June 18, 2007

Introduction to Constructor and Destructor functions of a Class

Constructor and Destructor functions are Member Functions of a class having some special property.

Constructor function gets invoked when an object of a class is constructed (declared) and destructor function gets invoked when the object is destructed (goes out of scope).

Use of Constructor and Destructor function of a class

  • Constructor function is used to initialize member variables to pre-defined values as soon as an object of a class is declared.

  • Constructor function having parameters is used to initialize the data members to the values passed values, upon declaration.

  • Generally, the destructor function is needed only when constructor has allocated dynamic memory.

Defining Constructor and Destructor functions

The example below illustrates how constructor and destructor functions are defined:

  class myclass
  {
   private:
   int number;

   public:
   myclass()//constructor
   {
    number=10;
   }

   ~myclass()//destructor
   {
  //nothing needed
   }
  }; 

A few points to note:

  • Both of the functions have the same name as that of the class, destructor function having (~) before its name.

  • Both constructor and destructor functions should not be preceded by any data type (not even void).

  • These functions do not (and cannot) return any values.

  • We can have only the constructor function in a class without destructor function or vice-versa.

  • Constructor function can take arguments but destructors cannot.

  • Constructor function can be overloaded as usual functions.

Example 1: Using constructor function to initialize data members to pre-defined values

  //Example Program in C++
  #include<iostream.h>

  class myclass
  {
   private:
   int a;
   int b;

   public:
   myclass()
   {
   //here constructor function is used to
   //initialize data members to pre-def
   //values
   a=10;
   b=10;
   }

   int add(void)
   {
    return a+b;
   }
  };

  void main(void)
  {
   myclass a;

   cout<<a.add();
  }

Example 2: Using constructor function to initialize data members to values passed as arguments

  //Example Program in C++
  #include<iostream.h>

  class myclass
  {
   private:
   int a;
   int b;

   public:
   myclass(int i, int j)
   {
    a=i;
    b=j;
   }

   int add(void)
   {
    return a+b;
   }
  };

  void main(void)
  {
   //notice how the object of the class
   //has been declared
   //it can be thought as
   // myclass a;
   // a=myclass(10,20)
   myclass a(10,20);

   cout<<a.add();
  }

Notice that there is no destructor function in both the examples, just because we don’t need them.

I will discuss destructor functions in detail in the coming articles.

So, keep checking!

Related Articles:

7 comments:

  1. Anonymous5:44 PM

    good examples.

    ReplyDelete
  2. Anonymous11:42 PM

    good work buddy...........

    ReplyDelete
  3. good explantion..............

    ReplyDelete
  4. Anonymous7:47 PM

    thaaaaaaaaaaaaaaaaaaaaank uuuuuuuuuuuuuuuuuuuu

    ReplyDelete
  5. Anonymous11:10 PM

    thank you ...............

    ReplyDelete
  6. sneha1:32 PM

    thanks...

    ReplyDelete

You are free to comment anything, although you can comment as 'Anonymous' it is strongly recommended that you supply your name. Thank You.

Please don't use abusive language.