5

C# Program to Overload Unary Increment (++) and Decrement (-) Operators - Geeksf...

 1 month ago
source link: https://www.geeksforgeeks.org/c-sharp-program-to-overload-unary-increment-and-decrement-operators/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

C# Program to Overload Unary Increment (++) and Decrement (–) Operators

In C#, overloading is the common way of implementing polymorphism. It is the ability to redefine a function in more than one form. A user can implement method overloading by defining two or more methods in a class sharing the same name but with different method signatures. So in this article, we will learn how to overload unary increment and decrement operators.

Overloading Decrement Operator

In C#, the decrement operator(–) is used to decrement an integer value by one. It is of two types pre-decrement operator and post decrement operator. When this operator is placed before any variable name then such type of operator is known as pre-decrement operator, e.g., –y whereas when the operator is placed after any variable name then such type of operator is known as post-decrement operator, e.g., y–. We can also overload the decrement operator using the following syntax. Here we will pass the object as the parameter and then set the decrement value to object value and this method will return the decremented value.

Syntax:

public static GFG operator --(GFG obj)
{
    obj.value = --obj.value;
    return obj;
}

Example:

Input  : 50
Output : 49

Input  : 79
Output : 78

Example:

// C# program to demonstrate overloading decrement operator
using System;
class GFG{
// Declare integer variable
private int value;
// Initialize data members
public GFG(int value){this.value = value;}
// Overload unary decrement operator
public static GFG operator--(GFG obj)
{
obj.value = --obj.value;
return obj;
}
// Display method to display the value
public void Display()
{
Console.WriteLine("Values : " + value);
Console.WriteLine();
}
}
class Geeks{
// Driver code
static void Main(string[] args)
{
// Declare the object and assign
// the value to 50
GFG obj = new GFG(50);
// Call the unary decrement overload method
obj--;
// Call the display method
obj.Display();
}
}

Output:

Values : 49

Overload Increment Operator

In C#, the increment operator(++) is used to increment an integer value by one. It is of two types pre-increment operator and post-increment operator. When this operator is placed before any variable name then such type of operator is known as pre-increment operator, e.g., ++y whereas when the operator is placed after any variable name then such type of operator is known as post-increment operator, e.g., y++. We can also overload the increment operator using the following syntax. Here we will pass the object as the parameter and then set the increment value to object value and this method will return the incremented value.

Syntax:

public static GFG operator ++(GFG obj)
{
    obj.value = ++obj.value;
    return obj;
}

Example:

Input  : 50
Output : 51

Input  : 79
Output : 80

Example:

// C# program to demonstrate overloading
// increment operator
using System;
class GFG{
// Declare integer variable
private int value;
// Initialize data members
public GFG(int value)
{
this.value = value;
}
// Overload unary increment operator
public static GFG operator ++(GFG obj)
{
obj.value = ++obj.value;
return obj;
}
// Display method to display the value
public void Display()
{
Console.WriteLine("Values : " + value);
Console.WriteLine();
}
}
class Geeks{
// Driver code
static void Main(string[] args)
{
// Declare the object and assign the value to 50
GFG obj = new GFG(50);
// Call the unary increment overload method
obj++;
// Call the display method
obj.Display();
}
}

Output:

Values : 51

Here's a complete roadmap for you to become a developer: Learn DSA -> Master Frontend/Backend/Full Stack -> Build Projects -> Keep Applying to Jobs

And why go anywhere else when our DSA to Development: Coding Guide helps you do this in a single program! Apply now to our DSA to Development Program and our counsellors will connect with you for further guidance & support.

Last Updated : 16 Nov, 2021
Like Article
Save Article
Share your thoughts in the comments

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK