派生类求两点间的距离、矩形的周长和面积
来源:互联网 发布:淘宝c店代运营 编辑:程序博客网 时间:2024/06/05 08:02
问题及代码:
平面直角坐标系上的一点类CPoint作为基类,派生出描述一条直线的类Cline,再派生出一个矩形类CRect。
要求成员函数能求出两点间的距离、矩形的周长和面积等。
using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{ class CPoint { private double x; private double y; public CPoint() { } public CPoint(double x, double y) { this.x = x; this.y = y; } public static double Distance(CPoint n1, CPoint n2) { return Math.Abs(Math.Pow(n1.x - n2.x, 2) + Math.Pow(n1.y - n2.y, 2)); } } class Cline : CPoint { private CPoint n1; private CPoint n2; public static double operator *(Cline a, Cline b) { return CPoint.Distance(a.n1, a.n2) * CPoint.Distance(a.n1, a.n2); } public static double operator +(Cline a, Cline b) { return CPoint.Distance(a.n1, a.n2) + CPoint.Distance(a.n1, a.n2); } public Cline() { } public Cline(CPoint n1, CPoint n2) { this.n1 = n1; this.n2 = n2; } } class CRect : Cline { Cline a; Cline b; public CRect() { } public CRect(Cline a, Cline b) { this.a = a; this.b = b; } public double Perimeter() { return (a + b) * 2; } public double Area() { return a * b; } } class Program { static void Main(string[] args) { Console.Write("x1="); int x1 = int.Parse(Console.ReadLine()); Console.Write("y1="); int y1 = int.Parse(Console.ReadLine()); Console.Write("x2="); int x2 = int.Parse(Console.ReadLine()); Console.Write("y2="); int y2 = int.Parse(Console.ReadLine()); CPoint n1 = new CPoint(x1, y1); CPoint n2 = new CPoint(x2, y2); Console.WriteLine("两点之间的距离为:{0}", CPoint.Distance(n1, n2)); Console.Write("x1="); x1 = int.Parse(Console.ReadLine()); Console.Write("y1="); y1 = int.Parse(Console.ReadLine()); Console.Write("x2="); x2 = int.Parse(Console.ReadLine()); Console.Write("y2="); y2 = int.Parse(Console.ReadLine()); CPoint n3 = new CPoint(x1, y1); CPoint n4 = new CPoint(x2, y2); Cline a = new Cline(n1, n2); Cline b = new Cline(n2, n4); CRect rect = new CRect(a, b); Console.WriteLine("由点({0},{1})和点({2},{3})组成的", x1,y1,x2,y2); Console.WriteLine("矩形的长为:{0}", CPoint.Distance(n1, n2)); Console.WriteLine("矩形的宽为:{0}", CPoint.Distance(n2, n4)); Console.WriteLine("矩形的面积为:{0}", rect.Area()); Console.WriteLine("矩形的周长为:{0}", rect.Perimeter()); Console.ReadKey(); } }}
运行结果:
1 0
- 派生类求两点间的距离、矩形的周长和面积
- CPoint作为基类,派生出描述一条直线的类Cline,再派生出一个矩形类CRect。要求成员函数能求出两点间的距离、矩形的周长和面积等
- 求矩形的周长和面积【Java】
- 矩形的周长和面积
- java-求矩形(长方形)的周长和面积案例
- 继承,求矩形和圆的周长面积
- 上机项目--求矩形的周长面积
- 简单类与对象 求矩形 三角形 圆的周长和面积
- java创建Shape类,求子类circle,圆形rectangle矩形,rhombus菱形的周长和面积
- d003: 计算矩形的周长和面积
- 求解矩形的面积和周长
- 第四周 矩形的周长和面积
- Java计算矩形的面积和周长
- 简单计算矩形的周长和面积
- java类的简单应用-矩形的面积和周长
- IOS 使用类计算矩形的周长和面积
- 图形类的派生与继承(求面积与求周长)
- 求两点间的距离和角度
- Java并发编程系列之二十五:线程池
- LeetCode(32)-Binary Tree Level Order Traversal
- python reduce函数
- 在涉及到一些参数修改的时候,一定要和医院确认------运维日志32
- DuiLib(8)——Menu菜单的实现方式
- 派生类求两点间的距离、矩形的周长和面积
- hdu 1847 Good Luck in CET-4 Everybody! 博弈
- vector迭代器失效的一种情形
- hibernate5(9)注解映射[1]多对一单向关联
- Android控件 webView
- 方法的继承,覆写和重载
- 软件
- C#WindowsMediaPlayer的属性
- Nginx开机启动设置