• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Constructor & Destructor
 

Constructor & Destructor

on

  • 6,598 views

I am PGT(Comp. Sc) in KV(AFS) Utarlai

I am PGT(Comp. Sc) in KV(AFS) Utarlai
publishing Constructor and Destructor for
Class XII

Statistics

Views

Total Views
6,598
Views on SlideShare
6,595
Embed Views
3

Actions

Likes
1
Downloads
312
Comments
0

2 Embeds 3

http://www.slideshare.net 2
http://www.linkedin.com 1

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Constructor & Destructor Constructor & Destructor Presentation Transcript

    • Constructor & Destructor
    • Constructors
      • Def- A constructor is a special member function that is a member of a class and has same name as that class.
      • Use- It is used to initialize the object of the class type with a legal initial value.
    • Special Characteristics of Constructors
      • These are called automatically when the objects are created.
      • All the objects of the class having a constructor are initialized before some use.
      • These should be declared in the public section for availability to all the functions.
      • Constructor has no return type even void.
      • They can not be inherited.
      • These cannot be static.
      • Default and copy constructor are generated by the compiler whenever required. Generated constructors are public.
      • Constructors can have default argument as other C++ functions.
    • Declaration and Definition
      • It can be defined either inside the class definition or outside the class definition
      • class X { int i ;
      • public:
      • int j,k ;
      • X() { i = j = k =0;}
      • };
      • class X { int i ;
      • public:
      • int j,k ;
      • X() { i = j = k =0;}
      • };
      • X::X()
      • {
      • I = j = k =0;
      • }
    • Note
      • Generally a constructor should be defined under the public section of a class, so that its object can be created in any function
      • class X { int i ;
      • X() { i = j = k =0;}
      • public:
      • int j,k ;
      • void check(void); // member function
      • };
      • void X :: check (void)
      • {
      • X obj1; //valid
      • }
      • int main()
      • {
      • X obj2; //invalid
      • }
    • Default constructor
      • A constructor that accept no parameter is called the default constructor.
    • Copy Constructor
      • A copy Constructor is used to initialize an object from another object.
      • If you have not defined a copy constructor, the complier automatically creates it and it is public
      • Copy constructor always takes argument as a reference object.
      • Consider the following class definition
    • class sample { int i, j; public: sample ( int a, int b) { i = a; j = b; } sample ( sample & s) { i = s.i ; j = s.j ; } void print(void) { cout<<i <<“ “<<j <<“ ”; } Above constructors may be used as follows sample s1 (10,12); //1 st const. called sample s2 (s1) // copy const. called sample s3 = s1; copy const. called
    • Home work
      • In a class does not define a constructor, what will be the initial value of its object.
      • What are the significance of default constructor.
      • How many situations when a copy constructor is automatically called.
    • Default Arguments
      • Just like any other function a constructor can also have default arguments
      • This constructor is equivalent to default constructor. Because its also allows us to create objects without any value provided.
      • For example
      • class A
      • {
      • int i,j;
      • public:
      • X(int x=10,int y=20);
      • };
      • A::X(int x,int y)
      • {
      • i=x;
      • j = y;
      • }
      int main() { A obj1; A obj2(250); A obj3(2,4); getch(); return 0; } i=10 j=20 i=250 j=20 i=2 j=4 obj1 obj2 obj3
    • Order of Constructor Invocation
      • The objects are constructed in the order they are defined. Consider the following statement
      • Sample s1,s2,s3; // the order of construction is s1,s2,s3.
      • But when a class containing objects of another class as its members. In such a case, the constructor for member objects are invoked first and then only, the constructor for containing class is invoked.
      • For example
      • class A
      • {
      • public:
      • A()
      • {
      • cout<<“Constructing A”
      • <<endl;
      • }};
      • class B
      • {
      • public:
      • B()
      • {
      • cout<<“Constructing B”
      • <<endl;
      • }};
      class C { private: A objA; B objB; public: C() { cout<<“Constructing C” <<endl; }}; int main() { clrscr(); C objC; getch(); }