2013-04-08 126 views
-3

我在寫下面的重載構造函數時遇到了困難。這就是我被要求做的事情。爲需要三個點作爲輸入的Plane類創建一個重載的構造函數。將這些輸入命名爲pointU,pointV和pointW。C#重載的構造函數

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 
+0

@AMR是的功課,但它的一個非常小的塊到一類,我甚至不需要了... – 2013-04-08 01:01:14

回答

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; 
} 
+0

什麼是應該指的是第一部分?這聽起來像是你引用了這個問題,但是那裏沒有那樣的東西。 – svick 2013-04-08 00:52:29

+0

@svick是的,它修復它。 – 2013-04-08 00:53:31

0

要使用3點overlaod的constuctor你只需要3個參數添加到構造函數簽名

例子:

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

這是一個重載的構造函數,接受你的3分和assig把他們交給你的班級成員。

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

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