Lesson 12 - Assignment operator
In the previous lesson, Copy Constructors in C++, we were dealing with C++ copy constructors. In today's C++ tutorial, we're going to look at the assignment operator, which is another basic operation we're going to overload.
What's the assignment operator? It's the equals symbol we regularly use. For
example, the code
x = 4 + 5 calls the assignment operator on the
x object (if it's an object). Let's try to create two warriors,
then we'll to overwrite one with the other:
Warrior a(100, 8, 5, die); Warrior b(100, 9, 6, die); a = b;
The compiler reports an error that the "equals" operator isn't defined. Specifically (for Visual Studio), the message looks like this:
error C2280: 'Warrior &Warrior::operator =(const Warrior &)': attempting to reference a deleted function note: compiler has generated 'Warrior::operator =' here
We usually want to be able to assign a variable to another variable of the same type. Unlike in higher programming languages, we have to take care of this in C++ ourselves (yes, again).
The Assignment Operator
First, let's try to think logically about the declaration. The method name is
obvious - the
operator keyword followed by the equals symbol. What
about parameters? We want to take another instance and copy its value. At the
same time we assume that
...End of the preview...
ict.social is a large database made up of manuals and tutorials, whose main goal is to provide high-quality IT education to everyone. We started out in the Czech republic, where we display roughly a million articles per month and receive plenty of gratitude from our users. Thanks to our successful establishment, we are now bringing these articles to the rest of the world.
Although we are trying to keep our content free of charge, maintaining the site is a huge effort for everyone involved. Therefore, some content (exercises and more advanced material) costs network points. Don't worry, they're really cheap :)
Requested article covers this content:
In this C++ tutorial, we'll look at the assignment operator. We'll learn when it's called, what it's used for and how to implement it.
Buying this article gives you unlimited access to it forever. You will learn some more and help us keep giving our site maintenance which helps you and others get better futures. It's a win-win.
You gain points by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.
You can get points immediately using:
|Credit card||SMS||Wire transfer|