//这个是Point的类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ClassDo
{
class Point
{
private int x;
private int y;
public Point()
{
x = -1;
y = -1;
}
public Point(int h, int z)
{
x = h;
y = z;
} public double Distance(Point p)
{
int xdiff = x - p.x;
int ydiff = y - p.y;
return Math.Sqrt(xdiff * xdiff + ydiff * ydiff);
}
}
}//主using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ClassDo
{
class Program
{
static void Main(string[] args)
{
int x2 = int.Parse(Console.ReadLine());
int y2 = int.Parse(Console.ReadLine());
Point p1 = new Point();
Point p2 = new Point(x2, y2);
double distance=p1.Distance(p2);
Console.WriteLine(distance);
}
}
}
上面的 public double Distance(Point p) 这里的Point p是什么意思,刚刚学,有点模糊又看不懂,求老师解答 谢谢!!
恩 谢谢 前面的我都懂了,后面为什么还要有这个double distance=p1.Distance(p2); 知道的说一下 谢谢!
{
int xdiff = x - p.x;
int ydiff = y - p.y;
return Math.Sqrt(xdiff * xdiff + ydiff * ydiff);
}
}
}还有这里也不懂 public double Distance(Point p)这个是什么意思为什么能直接把 Point p这个给传进去。
注意小写的distance是一个变量,后面那个是一个函数。是两个完全不同的东西。
这个就是实现对你定义的那个函数的调用,算出距离。
为什么能直接传进去是因为它定义了这样的参数,Point是一个类,表示一个Point类型的对象。事实上,Point这样的对象类型和int double这样的简单类型是一样的。
恩 变量这些我都知道 非常谢谢你,还有能说下public double Distance(Point p) 里面的Point p这个东西吗?这个p是自定义的吧,能直接这样传进来Point p 就这里不懂!!!!
Point p2 = new Point(5,5);
p1.Distance(p2);
这就是Distance的调用,在public double Distance(Point p)函数中p就是传入的p2.
lz找本最基础的书看一看了。
Methods (C# Programming Guide)
http://msdn.microsoft.com/en-us/library/ms173114(v=vs.80).aspx
把en-us改成zh-cn,翻译的怎么样就不知道了,最好看英文的。