首 页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#常用运算符详解

Tags:

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 1分

内 容:

            请注意用语文明且合法,不要发布带有攻击性、侮辱性的言论,谢谢合作!

         通知管理员 验证码:

关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图 | 用户守则 | 联系我们 |
本站大多数内容来自互联网或网站会员发布,如有侵权,请来信告之,谢谢!
Copyright © 2007-2017 biye5u.com. All Rights Reserved.
网站备案号:黑ICP备13005378号-3