Site icon Learn C++

What Is A Copy Assignment Operator in C++?

What Is A Copy Assignment Operator in C++

Object-Oriented Programming (OOP) is a method of mapping real-world objects and data to computer functions and data structures. Classes and Objects are part of object-oriented methods and typically provide features such as properties and methods. One of the features of an OOP Editor is a copy assignment operator that is used with “operator=” to create a new object from an existing one. In this post, we explain what a copy assignment operator is along with some C++ examples.

What are classes and objects in C++?

Classes are defined in C++ using the keyword class followed by the name of the class. Classes are the blueprint for the objects and they are user-defined data types that we can use in our program. Objects are an instantiation of a class, In C++ programming, because it is designed to be strongly object oriented most of the commands are associated with classes and objects, along with their attributes and methods. Here is a simple class example below.

[crayon-673ff5d13179c425478273/]

What is a copy assignment operator in C++?

The Copy Assignment Operator in a class is a non-template non-static member function that is declared with the “operator=“. When you create a class or a type that is copy assignable (that you can copy with the = operator symbol), it must have a public copy assignment operator. Here is a simple syntax for the typical declaration of a copy assignment operator which is defaulted,

Syntax (Since C++11).

[crayon-673ff5d1317a4216807975/]

Here is an example in a class.

[crayon-673ff5d1317a5266954730/]

Is there a simple example of using the copy assignment operator in C++?

The forced copy assignment operator is default in any class declarations. This means you don’t need to declare it as above, let’s give examples without using it.

Let’s give a simple C++ example to copy assignment operator with default option, here is a simple class.

[crayon-673ff5d1317a7997580211/]

Because this is default in any class declaration, and it is automatically declared. This class is same as below.

[crayon-673ff5d1317a8490104713/]

And here is how you can use this “=” copy assignment operator with both class examples above.

[crayon-673ff5d1317a9679935178/]

Is there a full example of how to use the copy assignment operator in C++?

An example with a copy assignment operator in a Class.

[crayon-673ff5d1317aa583962522/]

Here is the output.

[crayon-673ff5d1317ac136314772/]

As you see, in Modern C++, we can specialize the “=” operator on what to copy or not, with the copy assignment operator.

C++ Builder is the easiest and fastest C and C++ IDE for building simple or professional applications on the Windows, MacOS, iOS & Android operating systems. It is also easy for beginners to learn with its wide range of samples, tutorials, help files, and LSP support for code. RAD Studio’s C++ Builder version comes with the award-winning VCL framework for high-performance native Windows apps and the powerful FireMonkey (FMX) framework for cross-platform UIs.

There is a free C++ Builder Community Edition for students, beginners, and startups; it can be downloaded from here. For professional developers, there are Professional, Architect, or Enterprise version.

Exit mobile version