【C#】上机实验五
- 、设计一个控制台应用程序,定义一个MyPoint类,该类能表示二维平面空间的点,完成点类及运算符重载等相关功能。具体要求如下:
- ()MyPoint类中定义2个私有字段x和y及相应的构造函数。
- ()MyPoint类中重载ToString方法输出坐标x和y的值。
- ()MyPoint类中重载一元运算符“-”。
- ()MyPoint类中重载二元运算符“+”和“-”。
- ()MyPoint类中重载二元运算符“>”和“<”。
- ()MyPoint类中重载二元运算符“==”和“!=”。
- ()在Main方法中测试上述运算符。
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Myproject
- {
- class Program
- {
- static void Main(string[] args)
- {
- Mypoint a = new Mypoint(, );
- Mypoint b = new Mypoint(, );
- Mypoint c = new Mypoint(, );
- Console.WriteLine( "Check: a+b " + (a + b) );
- Console.WriteLine( "Check: a-b " + (a - b) );
- Console.WriteLine( "Check: < , > , != , == " );
- if (a < c) Console.WriteLine("a < c ");
- if( c > a) Console.WriteLine("c > a" );
- if( a + b != a)
- {
- Console.WriteLine("a + b != a");
- }
- if ( a + b == c)
- {
- Console.WriteLine("a + b == c");
- }
- }
- }
- public class Mypoint
- {
- int x, y;
- public Mypoint(int x, int y)
- {
- this.x = x;
- this.y = y;
- }
- public Mypoint() : this(, ) { }
- public int X { get { return x; } set { x = value; } }
- public int Y { get { return y; } set { y = value; } }
- public override string ToString()
- {
- return string.Format("({0},{1})", x, y);
- }
- public static Mypoint operator - (Mypoint u)
- {
- Mypoint p = new Mypoint();
- p.X = -u.X;
- p.Y = -u.Y;
- return p;
- }
- public static Mypoint operator + (Mypoint u, Mypoint v)
- {
- Mypoint p = new Mypoint();
- p.X = u.X + v.X;
- p.Y = u.Y + v.Y;
- return p;
- }
- public static Mypoint operator -(Mypoint u, Mypoint v)
- {
- Mypoint p = new Mypoint();
- p.X = u.X - v.X;
- p.Y = u.Y - v.Y;
- return p;
- }
- public static bool operator >(Mypoint u, Mypoint v)
- {
- bool status = false ;
- if( u.X >= v.X && u.Y >= v.Y)
- {
- status = true;
- }
- return status;
- }
- public static bool operator <(Mypoint u, Mypoint v)
- {
- bool status = false;
- if (u.X <= v.X && u.Y <= v.Y)
- {
- status = true;
- }
- return status;
- }
- public static bool operator ==(Mypoint u, Mypoint v)
- {
- bool status = false;
- if (u.X == v.X && u.Y == v.Y)
- {
- status = true;
- }
- return status;
- }
- public static bool operator !=(Mypoint u, Mypoint v)
- {
- bool status = false;
- if (u.X != v.X || u.Y != v.Y)
- {
- status = true;
- }
- return status;
- }
- }
- }
- 、设计一个控制台应用程序,定义一个Box类,该类表示一个立方体,完成该类运算符重载等相关功能。具体要求如下:
- ()Box类中定义3个私有字段(代表长、宽、高)及相应的构造函数
- ()MyPoint类中重载ToString方法输出长宽高的值。
- ()Box类中重载一元运算符“-”。
- ()Box类中重载二元运算符“+”和“-”。
- ()Box类中重载二元运算符“>”和“<”。
- ()Box类中重载二元运算符“==”和“!=”。
- ()在Main方法中测试上述运算符。
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Myproject
- {
- class Program
- {
- static void Main(string[] args)
- {
- Box b1 = new Box(, , );
- Box b2 = new Box(, , );
- Box b3 = new Box(, , );
- Console.WriteLine("Check: b1 + b2 " + (b1 + b2));
- Console.WriteLine("Check: -b1 " + b1);
- Console.WriteLine("Check: > , < , == , != ");
- if (b2 > b1) Console.WriteLine("b2 > b1");
- if (b1 < b2) Console.WriteLine("b1 < b2");
- if (b1 + b2 == b3) Console.WriteLine("b1 + b2 == b3 ");
- if (b1 + b2 != b1) Console.WriteLine("b1 + b2 != b1 ");
- }
- }
- class Box
- {
- private int length, width, height;
- public Box(int length, int width, int height)
- {
- this.length = length;
- this.width = width;
- this.height = height;
- }
- public Box() : this(, , ) { }
- public int Length { get { return length; } set { length = value; } }
- public int Width { get { return width; } set { width = value; } }
- public int Height { get { return height; } set { height = value; } }
- public override string ToString()
- {
- return string.Format("( {0} , {1} , {2} )",length,width,height);
- }
- public static Box operator +(Box rhs)
- {
- Box res = new Box();
- res.height = - rhs.height;
- res.length = - rhs.length;
- res.width = - rhs.width;
- return res;
- }
- public static Box operator + (Box lhs , Box rhs)
- {
- Box res = new Box();
- res.height = lhs.height + rhs.height;
- res.length = lhs.length + rhs.length;
- res.width = lhs.width + rhs.width;
- return res;
- }
- public static Box operator - (Box lhs, Box rhs)
- {
- Box res = new Box();
- res.height = lhs.height - rhs.height;
- res.length = lhs.length - rhs.length;
- res.width = lhs.width - rhs.width;
- return res;
- }
- public static bool operator >(Box lhs, Box rhs)
- {
- bool status = false;
- if (lhs.length > rhs.length &&
- lhs.width > rhs.width &&
- lhs.height > rhs.height)
- {
- status = true;
- }
- return status;
- }
- public static bool operator <(Box lhs, Box rhs)
- {
- bool status = false;
- if (lhs.length < rhs.length &&
- lhs.width < rhs.width &&
- lhs.height < rhs.height)
- {
- status = true;
- }
- return status;
- }
- public static bool operator == (Box lhs, Box rhs)
- {
- bool status = false;
- if (lhs.length == rhs.length &&
- lhs.width == rhs.width &&
- lhs.height == rhs.height)
- {
- status = true;
- }
- return status;
- }
- public static bool operator !=(Box lhs, Box rhs)
- {
- bool status = false;
- if (lhs.length != rhs.length ||
- lhs.width != rhs.width ||
- lhs.height != rhs.height)
- {
- status = true;
- }
- return status;
- }
- }
- }
【C#】上机实验五的更多相关文章
- SDN第五次上机实验
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解. 1.通过源码安装RYU控制器 sudo apt-get install python3-pip git clo ...
- 20145210 20145226 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验
20145210 20145226 <信息安全系统设计基础>实验五 简单嵌入式WEB服务器实验 结对伙伴:20145226 夏艺华 实验报告封面 实验目的与要求 · 掌握在ARM开发板实现 ...
- 实验五 CC2530平台上ADC组件的TinyOS编程
实验五 CC2530平台上ADC组件的TinyOS编程 实验目的: 加深和巩固学生对于TinyOS编程方法的理解和掌握 让学生初步掌握传感器的ADC组件应用方法 学生通过本实验能够初步的了解和掌握CC ...
- oracle上机实验内容
这是oracle实验的部分代码,我花了一中午做的. 第一次上机内容 实验目的:熟悉ORACLE11G的环境 实验内容: 第二次上机内容 实验目标:掌握oracle体系结构,掌握sqlplus的运行环境 ...
- SDN上机第五次作业
2019 SDN上机第五次作业 1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: 1.1描述官方教程实现了一个什么样的交换机功能? 答:官方教程实 ...
- 20145215&20145307《信息安全系统设计基础》实验五 网络通信
小组成员:20145215卢肖明.20145307陈俊达 实验报告链接:信息安全系统设计基础--实验五实验报告
- 20145216 20145330 《信息安全系统设计基础》 实验五 简单嵌入式WEB 服务器实验
20145216 20145330 <信息安全系统设计基础> 实验五 简单嵌入式WEB 服务器实验 实验报告封面 实验步骤 1.阅读理解源码 进入/arm2410cl/exp/basic/ ...
- 20145208《信息安全系统设计基础》实验五 简单嵌入式WEB 服务器实验
20145208<信息安全系统设计基础>实验五 简单嵌入式WEB 服务器实验 20145208<信息安全系统设计基础>实验五 简单嵌入式WEB 服务器实验
- 20145315&20145307《信息安全系统设计基础》实验五
20145315&20145307<信息安全系统设计基础>实验五 北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1453 1452 姓名:陈俊达 ...
随机推荐
- mariadb启动不了
提示地址已经被使用,是否有其他的进程正在使用 /var/run/sdata/mysql.sock 查询该文件,发现没有,sdata目录都不存在,应该是上次mysql意外关闭导致这个目录丢失了, 使用r ...
- 58、Spark Streaming: DStream的output操作以及foreachRDD详解
一.output操作 1.output操作 DStream中的所有计算,都是由output操作触发的,比如print().如果没有任何output操作,那么,压根儿就不会执行定义的计算逻辑. 此外,即 ...
- 阿里云部署自己的web服务器
阿里云部署自己的web服务器 [外链图片转存失败(img-GIKNTPPx-1564287221547)(https://upload-images.jianshu.io/upload_images/ ...
- nRF51822 主从断开连接Reason,HCI ERROR CODE :0x003E
最近在给一个客户调主从一体的模块,基于S130,距离稍微远一点就会出现连接上后立马又断开连接的现象, 追踪了一下原因,给出的 HCI Error code 是 0x003E,暂且不知道这是什么鬼,查了 ...
- Maven中使用<version>LATEST</version>自动依赖最新版本引发的问题
今天在打包项目的过程中出现了编译问题,奇怪的是这个项目已经好久没有修改过了,报错如下. 找不到符号 [ERROR] 符号: 方法 intent(java.lang.String) [ERROR] 位置 ...
- 腾讯云手动搭建nginx+php-fpm并自启动
自己一点小爱好,搭建了一个小网站植物大战僵尸百科, 使用的是腾讯云,市场里的镜像不好用,所以自己手动搭建一波. centos 7 编译安装 php-7.2.11的步骤 在官网下载php-7.2.11的 ...
- linux学习(2):linux服务器常用操作和命令
linux服务器常用操作和命令 目录 1. 什么是linux服务器load average?2. 如何查看linux服务器负载3. 服务器负载高怎么办?4. 如何查看服务器内存使用率?5. 如何查看单 ...
- Win10提示“无法打开此计算机上的组策略对象”如何解决
为了更好地管理电脑,很多朋友都会去编辑Windows10的组策略.不过,有部分用户反馈自己在打开组策略的时候,遇到了“无法打开此计算机上的组策略对象”提示,无法打开组策略,这是怎么回事呢?下面,小编就 ...
- [LINUX] 快速回收连接
i /etc/sysctl.conf 编辑文件,加入以下内容:net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_r ...
- Linux下使用iptables配置防火墙端口转发
1.背景 一些情况下,在linux上面我们想使用80-1024之间的端口,这个时候需要root权限. 当时root权限容易被提权,特别是早起那些Struct2,漏洞爆出的时候,一抓一个准-root权限 ...