C++ Assignment Operators

Table of Contents

The assignment operators assign new values to the variable. The variable may already be holding a value ,but the assignment will change the current value to a new one.

It can appear anywhere within an expression, with the sole purpose of assigning the right-hand-side (RHS) value to the left-hand-side (LHS) value.

Advertisements
Advertisements

Here is the list of valid assignment operators.

Assignment OperatorDescription
=LHS is assigned RHS.
+=LHS is added to RHS and then assigned to LHS again.
-=LHS is subtracted to RHS and then assigned to LHS again.
*=LHS is multiplied to RHS and assigned to LHS again.
/=LHS is divided to RHS and assigned back to LHS again.
%=LHS is assigned a remainder value after division between LHS and RHS.
>>=Right shift and then LHS is assigned a value.
<<=Left shift and then LHS is assigned a value.
&=Perform bitwise AND and assign to LHS.
|=Perform bitwise OR and assign to LHS.
~=Perform complement and assign to LHS.
Table 1 – Assignment Operators in C++

Example Program

In the following example, we will perform all types of assignments and view the results.

#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
    // Variable Declarations
    
    int number1, number2, number3;
    
    
    //Variable initialization uses Assignment Operators
    
    number1 = 23;
    number2 = 34;
    number3 = 12;
    
    cout << "Number1 =" << number1 << endl;
    cout << "Number2 =" << number2 << endl;
    cout << "Number3 =" << number3 << endl;
    
    
    //This is equal to number1 = number1 + 3
    
    number1 += 3; 
    cout << "(Number1 += 3)Equation=" << number1 << endl;
    
    //This is equal to number2 = number2 - 1
    
    number2 -= 1;
    cout << "(Number2 -= 1)Equation=" << number2 << endl;
    
    //This is equal to number3 = number3 * 2
    
    number3 *= 2;
    cout << "(Number3 *= 2)Equation=" << number3 << endl;
    
    //This is equal to number1 = number1 / 2
    
    number1 /= 2;
    cout << "(Number1 /= 2)Equation=" << number1 << endl;
    
    //This is equal to number2 = number2 % 5
    
    number2 % 5;
    cout << "(Number2 %= 5)Equation=" << number2 << endl;
    
    /* Assignment Operators with Shift Operators */
    
    
    number1 = number1 >> 1;
    cout << "(Number1 >>= 1)Equation=" << number1 << endl;
    
    number2 = number2 << 1;
    cout << "(Number2 <<= 1)Equation=" << number2 << endl;
    
    /* Assignment Operators with Logical Operators */
    
    number1 = number1 & 2;
    cout << "(Number1 &= 2)Equation=" << number1 << endl;
    
    number3 = number3 | 5;
    cout << "(Number3 |= 5) Equation=" << number3 << endl;
    
    number2 = ~number2;
    cout << "(Number2 ~= Number2) Equation=" << number2 << endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

Output:

Number1 =23
Number2 =34
Number3 =12
(Number1 += 3) Equation=26
(Number2 -= 1) Equation=33
(Number3 *= 2) Equation=24
(Number1 /= 2) Equation=13
(Number2 %= 5) Equation=33
(Number1 >>= 1) Equation=6
(Number2 <<= 1) Equation=66
(Number1 &= 2) Equation=2
(Number3 |= 5) Equation=29
(Number2 ~= Number2) Equation=-67

Advertisements

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.