后端开发 \ C# \ c#中operator的运用

c#中operator的运用

总点击724
简介:operator只要是运算符都能重载 operator关键字的主要作用是用来重载运算符的,还可以用于类或结构中类型的自定义转换。

operator 只要是运算符都能重载

operator 关键字的主要作用是用来重载运算符的,还可以用于类或结构中类型的自定义转换。


下面看个例子

[csharp] view

plain copy

class Feige  

{  

    //定义两个全局变量  

    int a, b;  

  

    //声明带两个参数的构造函数  

    public Feige(int a, int b)  

    {  

        this.a = a;  

        this.b = b;  

    }  

  

    //重载加法运算符+  

    public static Feige operator +(Feige f, Feige g)  

    {  

        return new Feige(f.a + g.a, f.b + g.b);  

    }  

  

    //重载乘法运算符*  

    public static Feige operator *(Feige f, Feige g)  

    {  

        return new Feige(f.a * g.a, f.b * g.b);  

    }  

  

    //自定义转换类型  

    public static implicit operator int(Feige f)  

    {  

        return (int)(f.a * f.b);  

    }  

}  


[csharp] view

plain copy

//执行构造函数  

Feige fei = new Feige(2, 5);  

//执行构造函数  

Feige ge = new Feige(3, 6);  

  

int d = (int)(fei + ge);//调用运算符+函数  

int e = (int)(fei * ge);//调用运算符*函数  

  

//两对象加法操作结果是:55              

richTextBox1.Text += "两对象加法操作结果是:" + d + "n";  

//两对象乘法操作结果是:180  

richTextBox1.Text += "两对象乘法操作结果是:" + e + "n";  

0人推荐

推荐文章

热门标签

意见反馈 常见问题 官方微信 返回顶部