C++C++11C++14C++17Introduction to C++Learn C++

Learn about Deleted Copy Constructor (Avoiding Implicit Generation of the Copy Constructor)

Do you want to learn about Deleted Copy Constructor? Do you want to avoid Implicit Generation of the Copy Constructor ? This post explains how you can avoid Implicit Generation of the Copy Constructor by using a Deleted Copy Constructor.

The Constructor in C++ is a function, a method in the class, but it is a ‘special method’ that is automatically called when an object of a class is created. We don’t need to call this function. Whenever a new object of a class is created, the Constructor allows the class to initialize member variables or allocate storage. This is why the name Constructor is given to this special method. Here is a simple constructor class example below,

There are different constructor types in classes and the Copy Constructor is one of these. Copy Constructors not only used in classes but also used with struct and union data types Do you want to learn what is copy constructor or what kind of methods we have that we can declare and use copy constructors? In this post, we will try to explain how to use Copy Constructor with examples.

The Copy Constructor in classes (i.e class_name) is a non-template constructor whose first parameter is class_name&‍, const class_name&‍, volatile class_name&‍, or const volatile class_name&‍ . It can be used with no other parameters or with the rest of the parameters all have default values.

The Copy Constructor is a constructor type for classes that class_name must name the current class, or it should be a qualified class name when it is declared at namespace scope or in a friend declaration.

Deleted Copy Constructor (Avoiding Implicit Generation of the Copy Constructor)

Deleted Copy Constructor is used if you are Avoiding implicit generation of the copy constructor.

Syntax,

In example, copy constructor can be defined with attributes as delete;

This is a full example with a Deleted Copy Constructor, here we put reminder where compile error and avoids to generate a new class by using copy constructor,

If you don’t want implicit generation of the copy constructor then used Deleted Copy Constructor.

Get started building powerful apps with C++Builder!

Oh hi there 👋
It’s nice to meet you.

Sign up to receive awesome C++ content in your inbox, every day.

We don’t spam! Read our privacy policy for more info.


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial

Free C++Builder Community Edition

About author

Dr. Yilmaz Yoru has 35+ years of coding with more than 30+ programming languages, mostly C++ on Windows, Android, Mac-OS, iOS, Linux, and some other operating systems. He graduated and received his MSc and PhD degrees from the Department of Mechanical Engineering of Eskisehir Osmangazi University. He is the founder and CEO of ESENJA LLC Company. His interests are Programming, Thermodynamics, Fluid Mechanics, Artificial Intelligence, 2D & 3D Designs, and high-end innovations.
Related posts
C++C++11C++14C++17C++20Introduction to C++Learn C++Syntax

Learn Default Constructors Of Classes In Modern C++

Artificial Intelligence TechC++C++11C++14C++17Learn C++

How To Develop Special AI Activation Functions In C++?

Artificial Intelligence TechC++C++11C++14C++17Language FeatureLearn C++

Learn How To Read The WAV Waveform Audio File Format In C++

C++C++11Learn C++

What Is Assignment Operator Overloading?

Worth reading...
Learn about Forced Copy Constructor (Default Copy Constructor) in C++