Constructor and Destructor

3,386 views

Published on

Published in: Education, Technology
2 Comments
12 Likes
Statistics
Notes
No Downloads
Views
Total views
3,386
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
581
Comments
2
Likes
12
Embeds 0
No embeds

No notes for slide

Constructor and Destructor

  1. 1. Constructor and Destructor 1 . C O N S T R U C TO R 2. DEFAULT CONSTRUCTOR 3. PARAMETERIZED CONSTRUCTOR 4. COPY CONSTRUCTOR 5. OVERLOADING CONSTRUCTOR 6 . D E S T R U C T OR Compiled By: Kamal Acharya
  2. 2. Constructor  Special member function to initialize the objects of its class.  Its name is same as the class name.  It is invoked whenever the object is created.  It construct the values of data members of the class so it is named as the constructor. Compiled By: Kamal Acharya
  3. 3.  Example Class integer { int m,n; public: integer(); // constructor declared ……… }; Compiled By: Kamal Acharya Constructor defination integer:: integer() { m=0; n=0; }
  4. 4.  When object is created from class from class integer, it will be initialized automatically.  Eg. integer int1;  Here not only int1 is created but also its data members m and n are initialized to zero. Compiled By: Kamal Acharya
  5. 5. Characteristics of Constructor  They should be declared in the public section.  They are called automatically when the object are created.  They do not have return type even void.  They have same name as the class name.  They can have default arguments as the other function. Compiled By: Kamal Acharya
  6. 6. Default Constructor  They takes no parameters.  They are called internally by the compiler whenever the object are created.  There is no need to call it explicitly. Compiled By: Kamal Acharya
  7. 7. Sample Program #include<iostream.h> #include<conio.h> class integer { int m,n; public: integer() { m=0; n=0; } Compiled By: Kamal Acharya void display() { cout<<"m= "<<m<<" and n= "<<n; } }; void main() { clrscr();r integer int1; int1.display(); getch(); }
  8. 8. OUTPUT Compiled By: Kamal Acharya
  9. 9. Parameterized Constructor  These are the constructor that take arguments.  They initialized the object data members by the value which is passed as arguments.  They are invoked when we pass the arguments to the object when they are being defined.  Example: integer int1(2,5); Compiled By: Kamal Acharya
  10. 10. Sample Program #include<iostream.h> #include<conio.h> class integer { int m,n; public: integer(int x, int y) { m=x; n=y; } Compiled By: Kamal Acharya void display() { cout<<"m= "<<m<<" and n= "<<n; } }; void main() { clrscr(); integer int1(5,6); int1.display(); getch(); }
  11. 11. OUTPUT Compiled By: Kamal Acharya
  12. 12. Copy Constructor  It is used to declare and initialized an object from another object.  It takes reference to an object of the same class as itself as an arguments.  Example: integer I1; integer I2(I1); Compiled By: Kamal Acharya
  13. 13. Sample Program #include<iostream.h> #include<conio.h> class integer { int m,n; public: integer(integer &x) { m=x.m; n=x.n; } integer() { m=100; n=100; } void display() { cout<<"m= "<<m<<" and n= "<<n<<endl; } }; Compiled By: Kamal Acharya
  14. 14. void main() { clrscr(); integer int1; int1.display(); integer int2(int1); int2.display(); getch(); } Compiled By: Kamal Acharya
  15. 15. OUTPUT Compiled By: Kamal Acharya
  16. 16. Overloading Constructor  Constructor overloading is the process of defining more than one constructor in the same class.  C++ permits us to use multiple constructor in the same class. Compiled By: Kamal Acharya
  17. 17. Sample Program #include<iostream.h> #include<conio.h> class integer { int m,n; public: integer(integer &x) { m=x.m; n=x.n; } Compiled By: Kamal Acharya integer() { m=0; n=0; } integer(int x, int y) { m=x; n=y; }
  18. 18. void display() { cout<<"m= "<<m<<" and n= "<<n<<endl; } }; Compiled By: Kamal Acharya void main() { clrscr(); integer int1; integer int2(400,500); integer int3(int2); int1.display(); int2.display(); int3.display(); getch(); }
  19. 19. OUTPUT Compiled By: Kamal Acharya
  20. 20. Destructor  It is used to destroy the objects created by the constructor.  It is called for the class object whenever it passes the scope in the program.  Whenever new is used in the constructor to allocate the memory delete should be used in the destructor to free the memory for future use. Compiled By: Kamal Acharya
  21. 21. Characteristics of Destructor  It has same name as the class name but is preceded by tilde (~) sign.  It has no return type and do not take any arguments.  It can not be overloaded.  It is called whenever the object get out of its scope. Compiled By: Kamal Acharya
  22. 22. Sample Program #include<iostream.h> class integer { int m,n; public: integer() { m=0; n=0; cout<<"Default Constructor is called"<<endl; Compiled By: Kamal Acharya } integer(int x, int y) { m=x; n=y; cout<<"Parameterize d Constructor is called"<<endl; } ~integer() { cout<<"Object is detroyed"<<endl; }
  23. 23. void display() { cout<<"m= "<<m<<" and n= "<<n<<endl; } }; Compiled By: Kamal Acharya void main() { clrscr(); { integer int1; int1.display(); } { integer int2(2,5); int2.display(); } }
  24. 24. OUTPUT Compiled By: Kamal Acharya

×