Dynamic initialization of object in C++ Last Updated : 31 Dec, 2021 Comments Improve Suggest changes Like Article Like Report In this article, we will discuss the Dynamic initialization of objects using Dynamic Constructors. Dynamic initialization of object refers to initializing the objects at a run time i.e., the initial value of an object is provided during run time.It can be achieved by using constructors and by passing parameters to the constructors.This comes in really handy when there are multiple constructors of the same class with different inputs. Dynamic Constructor: The constructor used for allocating the memory at runtime is known as the dynamic constructor.The memory is allocated at runtime using a new operator and similarly, memory is deallocated at runtime using the delete operator. Dynamic Allocation: Approach: In the below example, new is used to dynamically initialize the variable in default constructor and memory is allocated on the heap.The objects of the class geek calls the function and it displays the value of dynamically allocated variable i.e ptr. Below is the program for dynamic initialization of object using new operator: C++ // C++ program for dynamic allocation #include <iostream> using namespace std; class geeks { int* ptr; public: // Default constructor geeks() { // Dynamically initializing ptr // using new ptr = new int; *ptr = 10; } // Function to display the value // of ptr void display() { cout << *ptr << endl; } }; // Driver Code int main() { geeks obj1; // Function Call obj1.display(); return 0; } Output10 Dynamic Deallocation:Approach: In the below code, delete is used to dynamically free the memory.The contents of obj1 are overwritten in the object obj2 using assignment operator, then obj1 is deallocated by using delete operator. Below is the code for dynamic deallocation of the memory using delete operator. C++ // C++ program to dynamically // deallocating the memory #include <iostream> using namespace std; class geeks { int* ptr; public: // Default constructor geeks() { ptr = new int; *ptr = 10; } // Function to display the value void display() { cout << "Value: " << *ptr << endl; } }; // Driver Code int main() { // Dynamically allocating memory // using new operator geeks* obj1 = new geeks(); geeks* obj2 = new geeks(); // Assigning obj1 to obj2 obj2 = obj1; // Function Call obj1->display(); obj2->display(); // Dynamically deleting the memory // allocated to obj1 delete obj1; return 0; } OutputValue: 10 Value: 10 Below C++ program is demonstrating dynamic initialization of objects and calculating bank deposit: C++ // C++ program to illustrate the dynamic // initialization as memory is allocated // to the object #include <iostream> using namespace std; class bank { int principal; int years; float interest; float returnvalue; public: // Default constructor bank() {} // Parameterized constructor to // calculate interest(float) bank(int p, int y, float i) { principal = p; years = y; interest = i/100; returnvalue = principal; cout << "\nDeposited amount (float):"; // Finding the interest amount for (int i = 0; i < years; i++) { returnvalue = returnvalue * (1 + interest); } } // Parameterized constructor to // calculate interest(integer) bank(int p, int y, int i) { principal = p; years = y; interest = float(i)/100; returnvalue = principal; cout << "\nDeposited amount" << " (integer):"; // Find the interest amount for (int i = 0; i < years; i++) { returnvalue = returnvalue * (1 + interest); } } // Display function void display(void) { cout << returnvalue << endl; } }; // Driver Code int main() { // Variable initialization int p = 200; int y = 2; int I = 5; float i = 2.25; // Object is created with // float parameters bank b1(p, y, i); // Function Call with object // of class b1.display(); // Object is created with // integer parameters bank b2(p, y, I); // Function Call with object // of class b2.display(); return 0; } Output: Deposited amount (float):209.101 Deposited amount (integer):220.5 Comment More infoAdvertise with us Next Article Dynamic initialization of object in C++ V vasuvijayvargiya240 Follow Improve Article Tags : Technical Scripter C++ Programs C++ Technical Scripter 2020 cpp-constructor C++-Constructors Dynamic Memory Allocation new and delete +4 More Practice Tags : CPP Similar Reads How to Initialize a Dynamic Array in C++? In C++, dynamic arrays allow users to allocate memory dynamically. They are useful when the size of the array is not known at compile time. In this article, we will look at how to initialize a dynamic array in C++. Initializing Dynamic Arrays in C++The dynamic arrays can be initialized at the time o 1 min read Life cycle of Objects in C++ with Example In Object Oriented Programming, Objects are the instances of a class which has its own state(variables) and behavior(methods). Every class has two special methods related with creation and destruction of object of a class- constructors and destructors. C++ Object Life Cycle: There are various steps 6 min read Object Delegation in C++ Introduction: Every programming language that is based on an object-oriented concept tries to connect everything to the real world.Similarly, C++ languages use classes, Inheritance, Polymorphism to connect the concept with the real-world concept.In this article, the topic of discussion will be what 2 min read Deletion of array of objects in C++ Need for deletion of the object: To avoid memory leak as when an object is created dynamically using new, it occupies memory in the Heap Section.If objects are not deleted explicitly then the program will crash during runtime. Program 1: Create an object of the class which is created dynamically usi 3 min read How to Resize a Vector Without Initializing New Elements in C++? In C++, when a vector is resized upward (increased size) using vector resize() method, the new elements are initialized to the default value for the vector's type (e.g., 0 for int). However, in some cases, initializing these new elements might be unnecessary in performance-critical applications.Vect 3 min read Like