C#操作符的重载
2010-01-17 13:44
309 查看
c#要求所有的运算符重载都声明为public 和static,这表示他们与他们的类或结构相关联,而不与实例相关联。操作符的重载使用operator关键字,C#不允许重载=操作符。
下面是一个重载+操作符的列子,
代码
static void Main(string[] args)
{
Square a = new Square(3, 3);
Square b = new Square(5, 5);
Square c = new Square();
c = a + b;
Console.WriteLine(c.ToString());
Console.ReadKey();
}
public class Square
{
public Square() { }
public Square(int w,int h)
{
this.w = w;
this.h = h;
}
public Square(int area)
{
this.area=area;
}
public int w { get; set; }
public int h { get; set; }
public int area{get;set;}
public static Square operator +(Square a,Square b)
{
return new Square(a.w*a.h+b.w*b.h);
}
public override string ToString()
{
return this.area.ToString();
}
}
下面是一个重载+操作符的列子,
代码
static void Main(string[] args)
{
Square a = new Square(3, 3);
Square b = new Square(5, 5);
Square c = new Square();
c = a + b;
Console.WriteLine(c.ToString());
Console.ReadKey();
}
public class Square
{
public Square() { }
public Square(int w,int h)
{
this.w = w;
this.h = h;
}
public Square(int area)
{
this.area=area;
}
public int w { get; set; }
public int h { get; set; }
public int area{get;set;}
public static Square operator +(Square a,Square b)
{
return new Square(a.w*a.h+b.w*b.h);
}
public override string ToString()
{
return this.area.ToString();
}
}
相关文章推荐
- C#操作符的重载
- C#操作符的重载
- C#中奇妙的操作符重载
- 我屌你个C#操作符重载
- C# 中重载自增自减操作符的具体运算原理 ----从C++程序员的角度看C#自增操作符重载的实质
- C#中奇妙的操作符重载
- CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )
- C#中奇妙的操作符重载
- C#使用operator关键字实现操作符重载
- C#中的操作符重载
- C#关于操作符的重载
- C# ==和 != 操作符重载注意事项
- C#操作符的重载
- C# 一元操作符及重载
- C#操作符??和?:
- C++ VS C#(12):函数的重载,类成员的static修饰,属性
- C++重载类型转换操作符
- c# OleDb操作Access时间类型:操作符丢失,或者提示错误“标准表达式中数据类型不匹配
- 【M7】千万不要重载&&,||和,操作符
- C# ++运算符的重载