<strike id="rrvnz"></strike>

    <noframes id="rrvnz">
    <noframes id="rrvnz"><span id="rrvnz"><pre id="rrvnz"></pre></span><address id="rrvnz"></address>
    <address id="rrvnz"><nobr id="rrvnz"></nobr></address><noframes id="rrvnz">
      <em id="rrvnz"></em>

        首 頁IT知識庫翔宇問吧收藏本站
        當前位置:翔宇亭IT樂園IT知識庫C#專區

        一元運算符的重載

        減小字體 增大字體 作者:biye5u.com  來源:本站原創  發布時間:2014-01-16 10:32:23

        運算符重載允許為運算指定用戶定義的運算符實現,重載的運算符可以是一元運算符(即只有一個操作數的運算符),也可以是二元操作符(即有兩個操作數的運算符)。本文中暫時介紹一元運算符重載的方法。

        可重載的一元運算符有:

        +   -    !    ~  ++    --   true   false

        一元運算符 true 和 false 要求成對的聲明。如果類只聲明了這兩個運算符的其中一個而沒有聲明另一個,將發生編譯時錯誤。

        另外需要注意的是,重載時只能對已有的運算符進行重載,不能創造新的運算符。

        一元運算符重載的語法格式如下:

        public static 類類型 operator 要重載的一元運算符(類類型 變量名稱) {   重載實現;  }

        下面使用一個例子來說明具體過程:

        using System;

        namespace OverloadSingile
        {
          class Student
          {
            string name;
            int age;
            int height;
            public Student(string sn, int a, int h)
            {
              name = sn; age = a; height = h;
            }
            public static Student operator ++(Student s)
            {
              s.age++; s.height += 10; return s;
            }
            public void ShowInfo()
            {
              Console.WriteLine("{0}的年齡為{1},身高為{2}", name, age, height);
            }
          }

          class Test
          {
            static void Main()
            {
              Student wangHao = new Student("王浩", 21, 172);
              wangHao.ShowInfo();
              wangHao++;
              wangHao.ShowInfo();
            }
          }
        }

        運行結果如下:

         一元運算符的重載

        從上面的例子可以分析出,運算符重載實質上是方法重載的一種特殊情形。

        其它參考知識:

        (1)C#中的運算符與表達式

        (2)C#運算符的優先級(從高到底)

        (3)C#常用運算符詳解

        分享

        知識評論評論內容只代表網友觀點,與本站立場無關!

           評論摘要(共 0 條,得分 0 分,平均 0 分) 查看完整評論
        請注意用語文明且合法,不要發布帶有攻擊性、侮辱性的言論,謝謝合作!
        用戶名: 查看更多評論
        分 值:100分 90分 80分 70分 60分 40分 20分
        內 容:
        驗證碼:
        關于本站 | 網站幫助 | 廣告合作 | 網站聲明 | 友情連接 | 網站地圖
        本站部分內容來自互聯網,如有侵權,請來信告之,謝謝!
        Copyright © 2007-2020 biye5u.com. All Rights Reserved.
        網站備案號:黑ICP備13005378號-3
        特黄特色三级在线观看 - 视频 - 在线观看 - 影视资讯 -心晴网