Home » C++ programs

new and delete operators in C++ with printing values through constructor and destructor

In this program, we are going to learn about new and delete operators in C++ programming language, and testing the case of calling constructor and destructors while allocating and deal locating the memory dynamically.
Submitted by IncludeHelp, on May 22, 2018

In C++ programming language, there are two operators 1) new and 2) delete, which are used to manage the memory dynamically i.e. to create, delete the memory at run time (dynamically)

Prerequisite: new and delete operators in C++ programming

Let’s understand, when 'new' and 'delete' are used?

new is used to declare memory blocks at run time (dynamically). While, delete is used to delete/free the memory which has been declared dynamically.

Example of new and delete in C++

In the given program, we are using new to allocate memory to the class object and delete/free is using to delete the reference of the pointer that will force. There is a class named sample and it has a constructor sample() and a destructor ~sample().

Consider the program:



#include <iostream>
using namespace std;

class sample
{
    public:
	sample()
	{
		cout<<"Hi ";
	}
	~sample()
	{
		cout<<"Bye ";
	}
};

int main() 
{
	sample *obj = new sample();
	delete(obj);
	return 0;
}

Output

    Hi Bye 

You can see, "Hi" is written in the constructor (sample()) while "Bye" is written in the destructor (~sample()).

Therefore, when object "obj" is creating, constructor will be called and print "Hi", same as when object is going to be freed using delete(obj), destructor (~sample()) will be called and print "Bye".



Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.