C# 重载运算符


能重载的一元运算符:+、-、!、~、++、--、True、False

能重载的二元运算符: +、-、*、/、%、&、|!、^、<<、>>、==、!=、>、<、>=、<=

不能重载的运算符:=、&&、||、[]、()等等

 

重载运算符不能做什么?

1.创造新的运算符;2.改变运算符语法;3.重定义运算符如何处理预定义类型;4.改变运算符的优先级和结合性

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Dog dog1 = new Dog("jack");
            dog1++;
            dog1.ShowAge();
        }
    }
    public class Dog
    {
        private string Name;
        private int age = 0;
        public Dog(string dname)
        {
            Name = dname;
        }
        public void ShowName()
        {
            Console.WriteLine("这是一条狗:{0}", Name);
        }
        public void ShowAge()
        {
            Console.WriteLine("宠物的年龄为" + age);
        }
        // 使用重载运算符
        public static Dog operator ++(Dog dog)
        {
            dog.age++;  // 年龄自增
            return dog;
        }
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM