C++ Overloading assignment operator
Previous Page ‘Next Page
We already know the assignment operator in C+. In this tutorial we will be leaming concept of C++ Overloading
assignment operator.
Assignment operator in C++
1. Assignment Operator is Used to assign value to an variable.
2. Assignment operator is denoted by equal to sign.
3. Assignment operator have Two values L-Value and R-value, Operator copies R-Value into L-Value.
4. It isa binary operator.
C++ Overloading Assignment Operator
1, C++ Overloading assignment operator can be done in object oriented programming.
2. By overloading assignment operator, all values of one object (i.e instance variables) can be copied to another
object.
3. Assignment operator must be overloaded by a non-static member function only.
4. If the overloading function for the assignment operator is not written in the class, the compiler generates the
function to overload the assignment operator.
Syntax
Return_Type operator = (const Class Name &)
Way of overloading Assignment Operator
wincludeciostream>
using namespace std;
class Marks
{
private:
int m1;
int m25
public
//Default constructor
Markee) £// Paranetrised constructor
Marks(int i, int 5) (
m= is
m= 35
y
// Overloading of Assignment Operator
void operator=(const Marks &M ) {
mi = Mond;
m2 = M.m23
void Display() {
cout << "Marks in Ist Subject:" << mls
cout << “Marks in 2nd Subject:" << m2s
y
b
int main()
{
// Make two objects of class Marks
Marks Mark1(45, 89);
Marks Mark2(36, 59);
cout << " Marks of first student
Mark1.Display();
cout << " Marks of Second student
Mark2.Display();
// use assignment operator
Marki = Mark2;
cout << " Mark in ist Subject.
Mark1.Display();
return 0;
Explanation
private:
int mi;
int m2;
Here, in Class Marks contains private Data Members ml and m2.
Marks Mark1(45, 89);
Marks Mark?(36. 59)In the main function, we have made two objects ‘Mark!’ and ‘Mark2’ of class ‘Marks’. We have initialized values of
two objects using parametrised constructor.
void operator=(const Marks &M ) {
mL = Moms
m2 = Mema3
‘As shown in above code, we overload the assignment operator, Therefore,
‘copy content of object ‘Mark2” into ‘Markl’
Output
Marks of first student :
Mark in 1st Subject : 45
Marks in 2nd Subject : 89
Marks of Second student :
Mark in Ist Subject : 36
Marks in 2nd Subject : 59
Marks of First student :
Mark in 1st Subject : 36
Marks in 2nd Subject : 59
*Mark1=Mark2’ from main function will