当前位置: 首页 > 编程笔记 >

C#运算符重载用法实例分析

燕翼
2023-03-14
本文向大家介绍C#运算符重载用法实例分析,包括了C#运算符重载用法实例分析的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了C#运算符重载用法。分享给大家供大家参考。具体分析如下:

public class Plane {
   public virtual double TopSpeed() { return 300.0D;}
   public static bool operator>(Plane one, Plane two) {  
     return one.TopSpeed() > two.TopSpeed();
   }
   public static bool operator<(Plane one, Plane two) {  
     return one.TopSpeed() < two.TopSpeed();
   }
  }
  class Jet : Plane {
   public override double TopSpeed() { return 900.0D; }
   public override string ToString() { return "I'm a Jet"; }
  }
   class Airport {
   [STAThread]
   static void Main(string[] args) {
     Plane plane = new Jet();
     Console.WriteLine("plane's top speed: {0}",plane.TopSpeed());
     Jet jet = new Jet();
     Console.WriteLine("jet's top speed: {0}",jet.TopSpeed());
     Console.WriteLine("Plane > Jet = {0}", plane > jet);
     Console.ReadLine();
   }
  }

希望本文所述对大家的C#程序设计有所帮助。

 类似资料:
  • 主要内容:运算符重载的实现,可重载与不可重载的运算符C# 中支持运算符重载,所谓运算符重载就是我们可以使用自定义类型来重新定义 C# 中大多数运算符的功能。运算符重载需要通过 operator 关键字后跟运算符的形式来定义的,我们可以将被重新定义的运算符看作是具有特殊名称的函数,与其他函数一样,该函数也有返回值类型和参数列表,如下例所示: public static Box operator+ (Box b, Box c) {     Box bo

  • 本文向大家介绍c++ *运算符重载,包括了c++ *运算符重载的使用技巧和注意事项,需要的朋友参考一下 运算符重载,对象和指向对象的指针 直接上code 运行结果: t是指向test对象的指针,(*t) 也就是一个test对象。 所以只有 *t才真正的调用了 运算符的重载函数。

  • 我试图重载结构中映射的运算符<<,但得到一个编译错误: 不存在从“std::_rb_tree_const_iterator >”到“std::_rb_tree_iterator >”的合适的用户定义转换

  • 对于一个作业,学生们必须制作一个卡片结构来保存卡片的花色、等级和位图。此结构需要一个重载的" 然而,操作员 事先非常感谢。

  • 本文向大家介绍ES6扩展运算符和rest运算符用法实例分析,包括了ES6扩展运算符和rest运算符用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了ES6扩展运算符和rest运算符用法。分享给大家供大家参考,具体如下: 运算符可以很好的为我们解决参数和对象数组未知情况下的编程,让我们的代码更健壮和简洁。 运算符有两种:对象扩展运算符与rest运算符。 1.对象扩展( spread

  • 在《 到底什么时候会调用拷贝构造函数?》一节中,我们讲解了初始化和赋值的区别:在定义的同时进行赋值叫做 初始化(Initialization),定义完成以后再赋值(不管在定义的时候有没有赋值)就叫做 赋值(Assignment)。初始化只能有一次,赋值可以有多次。 当以拷贝的方式初始化一个对象时,会调用拷贝构造函数;当给一个对象赋值时,会调用重载过的赋值运算符。 即使我们没有显式的重载赋值运算符,