×

C++ Constructor

Constructor is a specific method in C ++ that is automatically called when an object is created. Typically, it is used to set the data members of a new object. In C++, the function Object () is referred to as a class or structure.

What distinguishes constructors from regular member functions?

  • The function Object () { [native code] } has the same name as the class.
  • Default although constructors do not have an input argument, Copy and Parameterized do. Input parameters are sent to constructors.
  • There is no return type for constructors.
  • When an object is formed, the function Object() { [native code] } is automatically invoked.
  • It must be shown in the classroom's public area.
  • If a function object () {[native code] is not specified, the C ++ compiler creates the default function object () {[native code] for the object (no parameters are expected and the body is empty).cpp-constructor1.png
C++ Constructor

Types of Constructor in C++

  • Default constructor
  • Parameterized constructor
  • Copy Constructor

Default Constructor

Constructors that take no arguments are called default constructors. When creating an object.

Example of a program containing constructor in C++:

#include <bits/stdc++.h>
#include <iostream>
using namespace std;
class construct
{
public:
int i,j; 
// Default Constructor
construct()
{
i= 23;
j= 45;
}
};
int main()
{
// Default constructor called automatically
// when the object is created
construct k
cout << "i: " << k.i << endl
<< "j: " << k.j;
return 1;
}

OUTPUT:

i: 23
j: 45

Explanation:

Even if we don't explicitly declare a function Object (), the compiler will offer a default function Object() implicitly.

Parameterized constructor

Arguments can be sent to the constructor. These parameters are often used to help start an object when it is created. Just add arguments to the parameterized function object (). The same way you would for any other task. Use arguments to initialize the object while defining the main body of the constructor.

Example of a program containing parameterized constructor in C++:

#include <stdlib>
#include <bits/stdc++.h>
#include <iostream>
using namespace std; 
class Const
{
private:
int i, j;




public:
// Parameterized Constructor
Const(int i1, int j1)
{
i = i1;
j = j1;
}
int getI()
{
return i;
}
int getJ()
{
return j;
}
};
int main()
{
// Constructor called
Const C1 (23, 34); 
// Access values assigned by constructor
cout << "C1.i = " << C1.getI() << ", C1.j = " << C1.getJ();
return 0;
}

OUTPUT:

 C1.i = 23 , C1.j = 34

Explanation:

The initial values must be passed as arguments to the function Object (). Function when an object is declared in a parameterized function Object (). It's possible that the standard method of object definition won't work. Constructors can be invoked either explicitly or implicitly.

NOTE: When objects are formed, it is used to initialize the various data components with distinct values. It's used to make constructors overloaded.

IMPORTANT: We can have more than one constructor in a class.

Copy Constructor

A copy function Object () is a member function that uses another object of the same class to initialize an object. When we declare one or more non-default constructors (with arguments) for a class, we need additionally provide a default constructor (without parameters), as the compiler will not give one in this situation. It is not required, but it is regarded best practice to declare a default function Object () at all times.

Example of program containing copy constructor in C++:

#include <iostream>
#include <stdlib>
#include <bits/stdc++.h>
using namespace std; 
class Const
{
private:
double i, j; 
public: 
// Non-default Constructor &
// default Constructor
Const (double Ci, double Cj)
{
i = Ci, j = Cj;
}
};
int main(void)
{
// Define an array of size
// 10 & of type point
// This line will cause error
Const x[26]; 
// Remove above line and program
// will compile without error
Const y = Const(1, 4);
}

OUTPUT:

error: point (double Ci, double Cj): expects 2 arguments, 0 provided

Explanation

In the above program in C++, If a new item is produced as a copy of an existing item, a copy maker is requested.

Another Example:

#include<iostream>
#Inlcude<stdlib>
#include<bits/stdc++.h>
using namespace std; 
class const
{
int i, j;
public:
const (int x = 14, int y = 34 )
{
i = x;
j = y;
}
void Display()
{
cout<< i << " " << j << endl;
}
};
int main()
{
const val;
val.Display();
return 0;
}

OUTPUT:

Parameterized constructor (Output will be 14,34)

Explanation:

The compiler does not produce the default function Object (). When we define any function Object () in a class. In this scenario, the same thing happens, but because the parameterized function Object () has default values for all of the parameters, it is called. However, if you specify default function Object () here, the compiler will throw an error (ambiguous call) since it won't know which function Object () to call.


Related Topics

Reverse String Word-Wise in C++

What is a reversed String? Reversing the words of a sentence is called reversed string by words. The difference between the reverse a string and the reverse a string word-wise is...

4 minutes read.

Is it fine to write void main() or main() in C/C++?

In C programming language: The default function return type in the C programming language is "int," which implies that main() will always return an integer value. In C, the void main()...

3 minutes read.

Nullptr in C++

What is Nullptr in C++? A null pointer value is represented by the term nullptr. Use a null pointer value to indicate that a native pointer type, inner pointer, or object...

3 minutes read.

Type conversion in C++

Type conversion is the process of changing the type of variables in a program. The ultimate goal of type conversions is to allow variables of a single data type operate with...

7 minutes read.

Similarities between C++ and Java

People who are preparing for software engineering roles must have come across either one of these languages because as all the companies do not accept python for hiring a fresher...

3 minutes read.

C++ int into String

Data type conversion is a standard editing process. You may need to convert variable from one type of data to another in a variety of situations. There are two ways...

5 minutes read.

CPP Templates

C++ provides a powerful feature called template, which allows the definition of generic classes and generic functions. Generic programming is a technique where different algorithms work in communion by using...

4 minutes read.

C++ Fork

A new process known as a "child process" is created with the fork system function and runs concurrently with the process that invoked fork() (parent process). Both processes will carry...

4 minutes read.

Program to convert infix to postfix expression in C++

Parentheses are frequently employed in mathematical formulas to make their interpretation easier to understand. However, with computers, parenthesis in an expression might lengthen the time it takes to find a...

7 minutes read.

C++ First Program

Let's write a simple basic program structure of C++, its compilation and its execution (how it runs). This program is compiled using GCC compiler. Open any editor to write C++ program. #include<iostream>   using namespace std;   int main(){       cout<<"Welcome to C++ program"<<endl;   } Output...

2 minutes read.

How to Declare Unordered Sets in C++

The implementation of an unordered set using a hash table ensures that the insertion is always randomised by hashing the keys into hash table indices. When we define keys of...

4 minutes read.

Decimal to Binary in C++

What is the meaning of Decimal Numbers? Decimal numbers range from 0 to 9, there are a total of ten digits between 0 and 9. Any number with more than two...

3 minutes read.

Reserved Keywords in C++

What are reserved keywords in C++? There are a few keywords that cannot be used as identifiers as those words are reserved for some other purposes, such keywords are called reserved...

15 minutes read.

Iostream in C++

Using Iostream in C++, we can perform input and output operation capabilities. This represents input and output, and the stream is used to carry out this capability. A stream is...

4 minutes read.

Functors in C++

Functors are not a very popular thing among beginner or intermediate-level programmers. But this thing is very useful and helpful. The name functor suggests us some similarities with function. It...

3 minutes read.

Use of Inheritance in C++

What is inheritance in c++? Inheritance is fundamental in object-oriented programming (OOP) languages like C++. It allows a programmer to create a new class (called a derived class) that inherits the...

4 minutes read.

Converting string into integer in C++

When programming in C++, we'll frequently need to change one data type to another. When we use C++ to create apps, we must transform data from one type to another. When...

7 minutes read.

How to enter a name in C++

A name is a string or array of characters or letters. The string is one of the most helpful data types offered by the C++ library. A string helps the...

4 minutes read.

C++ Features

C++ is a general-purpose programming language that evolved from the C language to include an object-oriented paradigm. It is a compiled and imperative language. Object-Oriented Programming Object-oriented programming language concepts: ClassObjectsEncapsulationPolymorphismInheritanceAbstraction Class: A Class...

4 minutes read.

C++ Program to find the largest number formed from an array

Given an array, write a program to find the largest number that will be formed from the elements of the array. Arrangement should be done in such a way that...

4 minutes read.