转换操作符 与 转换符

/*===============================
*
* TestOperator.cs
* // 转换操作符
// 重载操作符
===============================*/
using System;
public class Complex
{
private int x;
public Complex(int x)
{
this.x=x;
}
public int X
{
get
{
return x;
}
set
{
x=value;
}
}
//+ 操作符的重载
public static Complex operator+(Complex c1,Complex c2)
{
return new Complex(c1.X+c2.X);
}
//
public Complex Add(Complex c)
{
return (this+c);
}
//转换符
//由一个int32 隐式构造一个Complex 对象并返回
public static implicit operator Complex(Int32 numertor)
{
return new Complex(numertor);
}
//有一个Complex 显示返回一个int32
public static explicit operator Int32(Complex c)
{
return c.X;
}
}
public class App
{
public static void Main(string[] args)
{
Complex c1=new Complex(90);
Complex c2=new Complex(100);
Complex c3=c1+c2;
Complex c4=2000;
Console.WriteLine((c1+c2).X.ToString());
Console.WriteLine(c4.X.ToString());
Console.Read();
}
}
原文地址:https://www.cnblogs.com/csharponworking/p/2029583.html