| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 624 人关注过本帖
标题:关于运算符重载的问题
只看楼主 加入收藏
casualhewo
Rank: 1
等 级:新手上路
帖 子:267
专家分:0
注 册:2006-6-13
收藏
 问题点数:0 回复次数:5 
关于运算符重载的问题

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
public class Rectangle
{
private int iHeight;
private int iWidth;

// 缺省构造函数
public Rectangle()
{
Height = 0;
Width = 0;
}

// 构造函数重载
public Rectangle(int w, int h)
{
Width = w;
Height = h;
}

// 属性:宽 的get和set访问器
public int Width
{
get
{
return iWidth;
}
set
{
iWidth = value;
}
}

// 属性:高 的get和set访问器
public int Height
{
get
{
return iHeight;
}
set
{
iHeight = value;
}
}

// 属性:面积 的get访问器
public int Area
{
get
{
return Height * Width;
}
}

// 重载操作符 ==
public static bool operator ==(Rectangle a, Rectangle b)
{
return ((a.Height == b.Height) && (a.Width == b.Width));
}

// 重载操作符 !=
public static bool operator !=(Rectangle a, Rectangle b)
{
return !(a == b);
}

// 重载操作符 >
public static bool operator >(Rectangle a, Rectangle b)
{
return a.Area > b.Area;
}

// 重载操作符 <
public static bool operator <(Rectangle a, Rectangle b)
{
return !(a > b);
}

// 重载操作符 >=
public static bool operator >=(Rectangle a, Rectangle b)
{
return (a > b) || (a == b);
}

// 重载操作符 <=
public static bool operator <=(Rectangle a, Rectangle b)
{
return (a < b) || (a == b);
}

// 重载ToString
public override String ToString()
{
return "高=" + Height + ",宽=" + Width;
}

public static void Main()
{
// 实例化三个矩形并设置各自属性
Rectangle objRect1 = new Rectangle();
Rectangle objRect2 = new Rectangle();
Rectangle objRect3 = new Rectangle(10, 15);
objRect1.Height = 15;
objRect1.Width = 10;
objRect2.Height = 25;
objRect2.Width = 10;

// 打印三个矩形的信息
// 其中调用了ToString方法
Console.WriteLine("矩形#1 " + objRect1);
Console.WriteLine("矩形#2 " + objRect2);
Console.WriteLine("矩形#3 " + objRect3);

// 使用重载后的操作符比较矩形并打印结果
if (objRect1 == objRect2)
{
Console.WriteLine("矩形#1和矩形#2高和宽都相等");
}
else
{
if (objRect1 > objRect2)
{
Console.WriteLine("矩形1大于矩形2");
}
else
{
Console.WriteLine("矩形1小于矩形2");
}
}

if (objRect1 == objRect3)
{
Console.WriteLine("矩形1和矩形3高和宽都相等");
}
else
{
Console.WriteLine("矩形1和矩形3不相等");
}
}
}


}

图片附件: 游客没有浏览图片的权限,请 登录注册

搜索更多相关主题的帖子: 运算符 Rectangle int using public 
2007-01-26 00:07
casualhewo
Rank: 1
等 级:新手上路
帖 子:267
专家分:0
注 册:2006-6-13
收藏
得分:0 

底下这个图片的错误是什么意思啊.
我的程序为什么还能运行.


超越自己,挣脱平凡
2007-01-26 00:08
casualhewo
Rank: 1
等 级:新手上路
帖 子:267
专家分:0
注 册:2006-6-13
收藏
得分:0 

为什么加上这个就没有错误提示了啊!下面这两个方法又是什么意思.
public override bool Equals(object o)
{
return true;
}

public override int GetHashCode()
{
return 0;
}


超越自己,挣脱平凡
2007-01-26 00:15
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
图片看不清呀 但看起来好像是警告信息 允许编译和运行

2007-01-26 17:06
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
怎么看不到图片??你点一下那个图片,就可以在新的窗口里面打开.不就很清楚了?

飘过~~
2007-01-26 20:13
casualhewo
Rank: 1
等 级:新手上路
帖 子:267
专家分:0
注 册:2006-6-13
收藏
得分:0 
就是啊.谁能回答我的问题啊.

超越自己,挣脱平凡
2007-01-26 22:54
快速回复:关于运算符重载的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018352 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved