C++ Constructor
Definition
• In C++, constructor is a special method which is
invoked automatically at the time of object creation.
• It constructs the values i.e. provides data for the object
Hence it is known as constructors.
• The constructor in C++ has the same name as class.
• Constructor does not have a return value, hence they do
not have a return type.
There can be two types of constructors in C++.
• Default constructor
• Parameterized constructor
• Copy Constructor
Default Constructor
• A constructor which has no argument is known
as default constructor.
• It is invoked at the time of creating object.
Note: Attend class for examples
Parameterized Constructor
• A constructor which has parameters is called
parameterized constructor.
• It is used to provide different values to distinct
objects.
Note: Attend class for examples
Copy Constructor
• A copy constructor initializes an object using another object of the
same class.
• A copy constructor has the following general function prototype:
ClassName (const ClassName &old_obj);
• Copy constructor is used to initialize the members of a newly
created object by copying the members of an already existing object.
• Copy constructor takes a reference to an object of the same class as
an argument.
Sample(Sample &t)
{
id=t.id;
}
• The process of initializing members of an object through a copy
constructor is known as copy initialization.
• It is also called member-wise initialization because the copy
constructor initializes one object with the existing object, both
belonging to the same class on a member by member copy basis.
• The copy constructor can be defined explicitly by the programmer.
If the programmer does not define the copy constructor, the
compiler does it for us.
Destructors
• Destructor is an instance member function
which is invoked automatically whenever an
object is going to be destroyed.
• Meaning, a destructor is the last function that
is going to be called before an object is
destroyed.
• Destructor is also a special member function like
constructor.
• Destructor destroys the class objects created by constructor.
• Destructor has the same name as their class name preceded
by a tilde (~) symbol.
• It is not possible to define more than one destructor.
• The destructor is only one way to destroy the object created
by constructor. Hence destructor can-not be overloaded.
• Destructor neither requires any argument nor
returns any value.
• It is automatically called when object goes out of
scope.
• Destructor release memory space occupied by the
objects created by constructor.
• In destructor, objects are destroyed in the reverse
of an object creation.
• Codes are discussed in class, refer from there.

C++ Constructor and Destructors.pptx

  • 1.
  • 2.
    Definition • In C++,constructor is a special method which is invoked automatically at the time of object creation. • It constructs the values i.e. provides data for the object Hence it is known as constructors. • The constructor in C++ has the same name as class. • Constructor does not have a return value, hence they do not have a return type.
  • 3.
    There can betwo types of constructors in C++. • Default constructor • Parameterized constructor • Copy Constructor
  • 4.
    Default Constructor • Aconstructor which has no argument is known as default constructor. • It is invoked at the time of creating object. Note: Attend class for examples
  • 5.
    Parameterized Constructor • Aconstructor which has parameters is called parameterized constructor. • It is used to provide different values to distinct objects. Note: Attend class for examples
  • 6.
    Copy Constructor • Acopy constructor initializes an object using another object of the same class. • A copy constructor has the following general function prototype: ClassName (const ClassName &old_obj); • Copy constructor is used to initialize the members of a newly created object by copying the members of an already existing object. • Copy constructor takes a reference to an object of the same class as an argument. Sample(Sample &t) { id=t.id; }
  • 7.
    • The processof initializing members of an object through a copy constructor is known as copy initialization. • It is also called member-wise initialization because the copy constructor initializes one object with the existing object, both belonging to the same class on a member by member copy basis. • The copy constructor can be defined explicitly by the programmer. If the programmer does not define the copy constructor, the compiler does it for us.
  • 8.
    Destructors • Destructor isan instance member function which is invoked automatically whenever an object is going to be destroyed. • Meaning, a destructor is the last function that is going to be called before an object is destroyed.
  • 9.
    • Destructor isalso a special member function like constructor. • Destructor destroys the class objects created by constructor. • Destructor has the same name as their class name preceded by a tilde (~) symbol. • It is not possible to define more than one destructor. • The destructor is only one way to destroy the object created by constructor. Hence destructor can-not be overloaded.
  • 10.
    • Destructor neitherrequires any argument nor returns any value. • It is automatically called when object goes out of scope. • Destructor release memory space occupied by the objects created by constructor. • In destructor, objects are destroyed in the reverse of an object creation.
  • 11.
    • Codes arediscussed in class, refer from there.