刚学C#,留的作业题

定义类Tpoint,描述平面上的一个点,该类包括如下成员:

(1)属性 X,Y 描述点的x、y坐标(对应的字段自己定义);

(2)编写相应的构造函数(至少要重载2个构造函数,参数可自己设计)

(3)方法void show( ),功能是 输出Tpoint对象的坐标值,按(x,y)格式

(4)静态方法static void showPoint(Tpoint),功能是 输出指定的Tpoint对象的坐标值,按(x,y)格式

(5)静态方法static double getDistance(Tpoint,Tpoint),功能是 获得两个点之间的距离;

(6)方法double getDistanceF00( ),功能是 获得当前点到原点的距离;

(7)方法void getTpoint(out Tpoint),功能是 用获得当前点坐标,返回void,使用out参数获得返回值

(8)方法 Tpoint getTpoint( ),重载getTpoint,返回一个Tpoint对象,该点和当前点坐标相同

(9)方法void setTpoint(ref Tpoint),功能是 用参数设置当前点坐标,返回void,使用ref参数传入坐标点

题主要的代码如下,有帮助麻烦点个【采纳该答案】,谢谢~~有其他问题可以继续交流~

img

using System;
using System.Linq;
namespace ConsoleApp1
{
    class Tpoint
    {
        public double X { get; set; }
        public double Y { get; set; }
        public Tpoint() { }
        public Tpoint(double X, double Y) { this.X = X; this.Y = Y; }
        public void show() { Console.WriteLine("({0},{1})", X, Y); }
        public static void showPoint(Tpoint p) { Console.WriteLine("({0},{1})", p.X, p.Y); }
        public static double getDistance(Tpoint p, Tpoint p2)
        {
            double value = Math.Sqrt(Math.Abs(p.X - p2.X) * Math.Abs(p.X - p2.X) + Math.Abs(p.Y - p2.Y) * Math.Abs(p.Y - p2.Y));
            return value;
        }
        public double getDistanceF00()
        {
            return Tpoint.getDistance(new Tpoint(0, 0), this);
        }
        public void getTpoint(out Tpoint p)
        {
            p = new Tpoint(X, Y);
        }
        public Tpoint getTpoint() {return new Tpoint(X, Y); }
        public void setTpoint(ref Tpoint p)
        {
            X = p.X;
            Y = p.Y;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            var p = new Tpoint(5, 5);
            p.show();
            Tpoint.showPoint(p);
            Console.WriteLine(Tpoint.getDistance(new Tpoint(3, 3), new Tpoint(3, 9)));
            Console.WriteLine(p.getDistanceF00());
            Tpoint p1;
            p.getTpoint(out p1);
            p1.show();
            Tpoint p2 = p.getTpoint();
            p2.show();

            Tpoint p3 =new Tpoint(10, 10);
            p.setTpoint(ref p3);
            p.show();
            Console.ReadKey();
        }
    }
}