-4

我在下面为此编写重载构造函数时遇到了麻烦。这是我被要求做的。为将三个点作为输入的平面类创建一个重载的构造函数。将这些输入命名为 pointU、pointV 和 pointW。

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

namespace Geometry
{
    public class Plane
    {
        //---------------------------------------------------------------------
        //                                           PRIVATE INSTANCE VARIABLES
        private Point u;
        private Point v;
        private Point w;

        //---------------------------------------------------------------------
        //                                                         CONSTRUCTORS
        public Plane()
        {
            u = new Point();
            v = new Point();
            w = new Point();
        }

        //Overloaded Constructor with 3 Points as inputs
4

3 回答 3

2

重载意味着更改构造函数的签名,默认 ctor 中没有三个实例。所以

   public Plane()
   {
     u=new Point(); v= new Point() ; w=new Point()
   }

应该:

public Plane(Point p1, Point p2, Point p3)
{
  u= p1; v = p2; w=p3;
}
于 2013-04-08T00:50:10.457 回答
2

这是一个重载的构造函数,它接受你的 3 点并将它们分配给你的类成员。

public Plane(Point u, Point v, Point w){

                this.u = u;
                this.v = v;
                this.w = w;            
}
于 2013-04-08T00:52:42.533 回答
0

要使用 3 个点覆盖构造函数,您只需将 3 个参数添加到构造函数签名

例子:

public Plane(Point pointU, Point pointV, Point pointW)
{
    u = pointU;
    v = pointV;
    w = pointW;
}
于 2013-04-08T00:51:08.707 回答