中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中怎么通過運算符重載實現復數運算

發布時間:2021-07-07 16:17:26 來源:億速云 閱讀:145 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關C#中怎么通過運算符重載實現復數運算,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

C#運算符重載實現復數運算的由來:函數的重載——同名函數,不同的參數(包括參數個數不同和參數個數相同但個數不同)

將其引申,像如下的代碼:

int i=5;  int j=2;  int sum=i+j;

如果沒有自定義的C#運算符重載,像+,-,*,/這樣的運算符只能用于預定義的數據類型,編譯器認為所有常見的運算符都是用于這些數據類型的。
問題來了,如果我要對兩個復數或矩陣進行四則運算,就需要我們自己擴展運算符重載函數了。

C#運算符重載之示例:復數的四則運算

public struct Complex  {      public int real;      public int imaginary;       public Complex(int real, int imaginary)      {          this.real = real;          this.imaginary = imaginary;      }       //overload operator(+),added(two Complex objects) and return a Complex type      public static Complex operator +(Complex c1, Complex c2)      {          return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);      }       //overload operator(-)      public static Complex operator -(Complex c1, Complex c2)      {          return new Complex(c1.real - c2.real, c1.imaginary - c2.imaginary);      }            //overload operator(*)      public static Complex operator *(Complex c1, Complex c2)      {          return new Complex(c1.real * c2.real - c1.imaginary * c2.imaginary,         c1.real * c2.imaginary + c1.imaginary * c2.real);      }       //overload operator(/)      public static Complex operator /(Complex c1, Complex c2)      {          return new Complex(-c1.real * c2.real +           c1.imaginary * c2.imaginary, -c1.real * c2.imaginary + c1.imaginary * c2.real);      }       // Override the ToString method to display an complex number in the suitable format:      public override string ToString()      {          return (String.Format("{0} + {1}i", real, imaginary));      }  }

C#運算符重載之客戶端代碼:

static void Main(string[] args)  {      Complex num1 = new Complex(2, 3);      Complex num2 = new Complex(3, 4);       //Add two Complex objects (num1 and num2) through the overloaded plus operator:      Complex sum_Add = num1 + num2;      Complex sum_Minus = num1 - num2;      Complex sum_Product = num1 * num2;      Complex sum_Divide = num1 / num2;       //Print the numbers and the Result using the overriden ToString method:      Console.WriteLine("First complex number:  {0}", num1);      Console.WriteLine("Second complex number: {0}", num2);      Console.WriteLine("The sum of the two numbers: {0}", sum_Add);      Console.WriteLine("The Minus of the two numbers: {0}", sum_Minus);      Console.WriteLine("The Product of the two numbers: {0}", sum_Product);      Console.WriteLine("The Divide of the two numbers: {0}", sum_Divide);       Console.ReadLine();  }

C#運算符重載實例運行結果:

First complex number:  2 + 3i  Second complex number: 3 + 4i  The sum of the two numbers: 5 + 7i  The Minus of the two numbers: -1 + -1i  The Product of the two numbers: -6 + 17i  The Divide of the two numbers: 6 + 1i

看完上述內容,你們對C#中怎么通過運算符重載實現復數運算有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

漯河市| 兰坪| 海林市| 宝坻区| 延津县| 竹溪县| 上饶县| 尉氏县| 徐水县| 绿春县| 五大连池市| 闽侯县| 蒲城县| 海阳市| 云南省| 三河市| 永丰县| 白河县| 隆林| 正定县| 青岛市| 绵阳市| 疏勒县| 文化| 辽阳县| 牙克石市| 柘荣县| 平邑县| 枞阳县| 手游| 同仁县| 阿坝县| 诸城市| 丰城市| 涞源县| 台北市| 固始县| 澎湖县| 定陶县| 福贡县| 尤溪县|