(三十二)C#编程基础复习——C#运算符重载
C#中支持运算符重载,所谓运算符重载就是我们可以使用自定义类型来重新定义C#中大多数运算符的功能,运算符重载需要通过operator关键字后跟运算符的形式来定义的,我们可以将重新定义的运算符看作是具有特殊名称的函数,与其他函数一样,该函数也有返回值类型和参数列表
一、实例(演示运算符重载)
namespace _029
{
class Box
{
private double length;//长度
private double breadth;//宽度
private double height;//高度
public double getVolume()//返回值为空计算体积
{
return length * breadth * height;
}
public void setLength(double len)
{
length = len;
}
public void setBreadth(double bre)
{
breadth = bre;
}
public void setHeight(double hei)
{
height = hei;
}
//重载+运算符,把两个Box对象相加
public static Box operator+(Box b,Box c)
{
Box box = new Box();
box.length = b.length + c.length;
box.breadth = b.breadth + c.breadth;
box.height = b.height + c.height;
return box;
}
}
internal class Program
{
static void Main(string[] args)
{
Box box1 = new Box();//声明Box1,类型为Box
Box box2 = new Box();//声明Box2,类型为Box
Box box3 = new Box();//声明Box3,类型为Box
double volume = 0.0;//体积
//box1详述
box1.setLength(6.0);
box1.setBreadth(7.0);
box1.setHeight(5.0);
//box2详述
box2.setLength(12.0);
box2.setBreadth(13.0);
box2.setHeight(10.0);
//box1的体积
volume = box1.getVolume();
Console.WriteLine("box1的体积为:{0}",volume);
//box2的体积
volume = box2.getVolume();
Console.WriteLine("box2的体积:{0}",volume);
//把两个对象相加
box3 = box1 + box2;
//bo3的体积
volume = box3.getVolume();
Console.WriteLine("box3的体积:{0}",volume);
Console.ReadKey();
}
}
}
运行结果:
二、可重载与不可重载的运算符
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了