0% found this document useful (0 votes)
290 views

C++ Constructor and Destructors

C++ constructors have three main types: 1. Default constructors that require no parameters and are invoked during object creation. 2. Parameterized constructors that accept parameters to provide different values to distinct objects. 3. Copy constructors that initialize an object using another object of the same class by copying members. Destructors are special member functions that are automatically called when an object is destroyed, releasing the memory occupied by the object. They have the same name as the class preceded by a tilde.

Uploaded by

rajatbisht9124
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
290 views

C++ Constructor and Destructors

C++ constructors have three main types: 1. Default constructors that require no parameters and are invoked during object creation. 2. Parameterized constructors that accept parameters to provide different values to distinct objects. 3. Copy constructors that initialize an object using another object of the same class by copying members. Destructors are special member functions that are automatically called when an object is destroyed, releasing the memory occupied by the object. They have the same name as the class preceded by a tilde.

Uploaded by

rajatbisht9124
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 11

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.

You might also like