首页 > 其他分享 >运算符重载

运算符重载

时间:2024-10-18 11:10:52浏览次数:8  
标签:stu2 stu1 name level 运算符 Student 重载

基础概念

运算符重载使用了一个名为operator的关键字, 重载运算符后,在使用时会调用重载后的方法,使用这种方法可以实现对象之间自定义+-操作。
可重载运算符:
一元运算符:+, -, !, ~, ++, --
算术运算符:+, -, *, /, %
比较运算符:==, !=, <, >, <=, >=

代码示例

此段代码重载了+,==,!=,

public class Student
{
    private int level;
    private string name;
    private int description;

    public Student(int level, string name, int description)
    {
        this.level = level;
        this.name = name;
        this.description = description;
    }

    public static Student operator +(Student stu1, Student stu2)
    {
        Student stu = new Student(0,"", 0);
        stu.level = stu1.level + stu2.level;
        stu.name = stu1.name + stu2.name;
        stu.description = stu1.description + stu2.description;
        return stu;
    }
    public static bool operator ==(Student stu1, Student stu2)
    {
        if (stu1.name == stu2.name)
        {
            return true;
        }
        return false;
    }

    public static bool operator !=(Student stu1, Student stu2)
    {
        if (stu1.level != stu2.level)
        {
            return true;
        }
        return false;
    }

    public override string ToString()
    {
        Debug.Log(this.level);
        Debug.Log(this.name);
        Debug.Log(this.description);
        return this.name;
    }
}

表现

        Student stu1 = new Student(4,"hzj", 100);
        Student stu2 = new Student(6,"yzx", 200);
        (stu1 + stu2).ToString();
        if (stu1 == stu2)
        {
            Debug.Log("姓名相等");
        }
        else if (stu1 != stu2)
        {
            Debug.Log("年级不相等");
        }

输出:

标签:stu2,stu1,name,level,运算符,Student,重载
From: https://www.cnblogs.com/comradexiao/p/18473885

相关文章

  • 运算符
    Lua运算符运算符是一个特殊的符号,用于告诉解释器执行特定的数学或逻辑运算。Lua提供了以下几种运算符类型:算术运算符关系运算符逻辑运算符其他运算符算数运算符下表列出了Lua语言中的常用算术运算符,设定A的值为10,B的值为20:操作符描述实例+加法A+B输出结......
  • 运算符于表达式
    算数运算符+加法、-减法、*乘法、/除法、%取余。++自增,变量自身增加1。++在前,先算后用;++在后,先用后算。--自减,变量自身减少1。--在前,先算后用;--在后,先用后算。赋值运算符=赋值复合运算符:+=加等、-=减等、*=乘等、/=除等、%=取余等。关系运算符>大于,>=大于等于,==等于,!=不等......
  • 1601 添加运算符 枚举 递归dfs
    #include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=1e3+10,inf=0x3f3f3f3f;inta[N],vis[N];intn,ans;//计算函数:根据运算符i对sum和a[x]进行运算intcal(intsum,inti,intx){if(i==1)returnsum+a[x];//加法......
  • C语言运算符和表达式
    1.C语言赋值运算符实例讲解C使用运算符(operator)来代表算术运算。例如,+运算符可以使它两侧的值加在一起。如果您觉得术语“运算符”听起来比较奇怪,那么请您记住那些东西总得有个名称。与其被称之为“那些东西”或“数学符号”,被称之为“运算符”似乎看起来更专业一些!现在,除......
  • 叉积法判断三点共线+重载运算符
    https://ac.nowcoder.com/acm/contest/92687/G#include<bits/stdc++.h>#defineendl'\n'#defineintlonglong#definelowbit(x)(x&-x)usingnamespacestd;constdoublepi=acos(-1);typedefpair<int,int>pii;piioperator-(piia,......
  • Java基础语法-运算符
    运算符Java语言支持如下运算符:算术运算符:+,-,,/,%,++,--赋值运算符:=关系运算符:>,<,>=,<=,==,!=instanceof逻辑运算符:&&,||,!位运算符:&,|,^,~,>>,<<,>>>(了解!!!)条件运算符:?:扩展赋值运算符:+=,-=,*=,/=//二元运算符inta=10;intb=20;intc=25;intd......
  • JAVA输入输出,运算符
    1.输入输出packagecom.scanner;//1.导包importjava.util.Scanner;publicclassDemo1{publicstaticvoidmain(){print();}//需求:我是一个零基础小白,请帮我写一个程序,可以让用户键盘输入用户名和年龄,然后打印出来。publicstaticvoid......
  • JAVA基础笔记1(变量与运算符+基本数据类型)
    目录一.开发工具1.快捷键常用二.HelloWorld案例:输出:心形三:变量与运算符3.1关键字3.2 标识符(identifier)3.3变量3.30变量的概念:3.31变量类型3.32引用数据类型:   类:class   数组:array   接口:interface   枚举:enum   注解:annotation   ......
  • C++ 面向对象、特征、重载和重写、构造和析构、向上和向下转型、深浅拷贝。
    什么是面向对象(Object-OrientedProgramming,OOP)1.面向对象是一种编程范式,它通过将软件系统的设计和开发分解为“对象”(Object)的方式来实现更好地组织代码。面向对象的核心思想是将程序的结构分为对象,这些对象包含数据和操作这些数据的函数(即方法)。每个对象是类的实例,而类定......
  • c++中的函数重载
    C++中的 函数重载(FunctionOverloading)是一种多态性特性,允许在同一作用域内定义 多个同名函数,只要这些函数的参数列表不同(参数的类型、数量或顺序不同)。编译器根据函数调用时传递的参数类型和数量来决定调用哪个函数。1. 函数重载的规则C++编译器通过以下规则来区分重载的......