Your SlideShare is downloading. ×
Constructor and Destructor
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Constructor and Destructor

1,220
views

Published on

Published in: Education, Technology

2 Comments
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
1,220
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
139
Comments
2
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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.  Example Class integer { int m,n; public: integer(); // constructor declared ……… }; Compiled By: Kamal Acharya Constructor defination integer:: integer() { m=0; n=0; }
  • 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. 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. 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. 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. OUTPUT Compiled By: Kamal Acharya
  • 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. 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. OUTPUT Compiled By: Kamal Acharya
  • 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. 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. void main() { clrscr(); integer int1; int1.display(); integer int2(int1); int2.display(); getch(); } Compiled By: Kamal Acharya
  • 15. OUTPUT Compiled By: Kamal Acharya
  • 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. 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. 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. OUTPUT Compiled By: Kamal Acharya
  • 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. 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. 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. 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. OUTPUT Compiled By: Kamal Acharya