📜  重载一元递增 (++) 和递减 (–) 运算符的 C# 程序

📅  最后修改于: 2022-05-13 01:55:02.007000             🧑  作者: Mango

重载一元递增 (++) 和递减 (–) 运算符的 C# 程序

在 C# 中,重载是实现多态的常用方法。它是一种以多种形式重新定义函数的能力。用户可以通过在一个类中定义两个或多个方法共享相同的名称但具有不同的方法签名来实现方法重载。所以在本文中,我们将学习如何重载一元递增和递减运算符。

重载减量运算符

在 C# 中,减量运算符(–) 用于将整数值减一。它有两种类型的预减运算符和后减运算符。如果将此运算符放在任何变量名之前,则这种类型的运算符称为预减运算符,例如,-y 而当该运算符放在任何变量名之后,则这种类型的运算符称为后减运算符,例如, y–。我们还可以使用以下语法重载减量运算符。这里我们将对象作为参数传递,然后将递减值设置为对象值,此方法将返回递减后的值。

句法:

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

例子:

Input  : 50
Output : 49

Input  : 79
Output : 78

例子:

C#
// 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();
}
}


C#
// 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();
}
}


输出:

Values : 49

重载增量运算符

在 C# 中,自增运算符(++) 用于将整数值加一。它有两种类型的前自增运算符和后自增运算符。如果将此运算符放在任何变量名之前,则此类运算符称为前置递增运算符,例如 ++y,而当将此运算符放在任何变量名之后,则此类运算符称为后递增运算符,例如,y++。我们还可以使用以下语法重载增量运算符。这里我们将对象作为参数传递,然后将增量值设置为对象值,此方法将返回增量值。

句法:

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

例子:

Input  : 50
Output : 51

Input  : 79
Output : 80

例子:

C#

// 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();
}
}

输出:

Values : 51