C#重载的构造函数

时间:2013-04-08 00:47:17

标签: c# constructor

我在编写下面的重载构造函数时遇到问题。这就是我被要求做的事情。为Plane类创建一个重载的构造函数,该构造函数将三个点作为输入。将这些输入命名为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

3 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:2)

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

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

                this.u = u;
                this.v = v;
                this.w = w;            
}

答案 2 :(得分:0)

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

示例:

public Plane(Point pointU, Point pointV, Point pointW)
{
    u = pointU;
    v = pointV;
    w = pointW;
}