zoukankan      html  css  js  c++  java
  • 重载运算符

    利用现有运算符,针对自定义类或结构,简化地自定义某运算操作,一般选用有相关性的既有运算符

    操作数至少有一个是类或结构

    不能改变运算符优先级

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

    class Program
        {
            static void Main(string[] args)
            {
                Pet P = new Dog("pp");
                P++;//++有了重载定义的计算方式
                P.ShowAge();
            }
    
        }
        abstract public class Pet
        {
            protected string Name;
            public Pet(string name)
            {
                Name = name;
            }
            public void PrintName()
            {
                Console.WriteLine("Print" + Name);
            }
    
           
            abstract public void Speak();
        }
       abstract public class Pet
        {
            protected string Name;
            protected int Age;
            public Pet(string name)
            {
                Name = name;
                Age = 0;
            }
            public void PrintName()
            {
                Console.WriteLine("Print" + Name);
            }
            public static Pet operator ++(Pet pet)//重载运算符++//针对类Pet
            {
                ++pet.Age;
                return pet;
            }
            public void ShowAge()
            {
                Console.WriteLine(Name+ " Age = " + Age);
            }
         
            abstract public void Speak();
        }
        public class Dog : Pet
        {
            static int Num;
            static Dog()
            {
                Num = 0;
            }
            public Dog(string name) : base(name)
            {
                ++Num;
            }
            new public void PrintName()
            {
                Console.WriteLine("子print名字是 " + base.Name);
            }
           
            {
                Console.WriteLine("子说,我是狗狗 " + Name);
            }
            static public void ShowNum()
            {
                Console.WriteLine("Dog's number = " + Num);
            }
            public void Lost()
            {
                --Num;
                Console.WriteLine(Name + " is Lost!");
            }
    
         
        }
     
  • 相关阅读:
    Ubuntu下Anaconda3的安装
    在Ubuntu上安装微信
    HTTP Response Code 中文详解
    urllib.parse.urldefrag(url)的解释
    极大似然估计
    多序列比对后可视化之texshade
    Musle比对软件(windows)
    windows本地blast
    绘制pathway富集散点图
    计算相关性系数
  • 原文地址:https://www.cnblogs.com/cicily/p/10936538.html
Copyright © 2011-2022 走看看