2011-02-28 92 views

回答

8

這不是完全清楚你的問題是什麼,但我懷疑你要麼需要一個明確參數的構造函數添加到您的子類:

// Parameterless child constructor calling parameterized base constructor 
public Child() : base("foo", "bar") { 
} 

或同時添加參數和參數的一個:

public Child() { 
} 

public Child(string foo, string bar) : base(foo, bar) { 
} 

注意構造繼承 - 所以僅僅因爲一個基類公頃一個特定的構造函數簽名並不意味着你可以使用該簽名實例化一個類。孩子班必須自己提供。

任何編譯器提供的無參數構造函數將始終調用其基類的無參數構造函數。

2

這樣的事情?

class Parent 
{ 
    public Parent(){} 
    public Parent(string s) {} 
} 

class Child : Parent 
{ 
    public Child() : base("42") { } 
} 
1

在這裏你去:

// Parent class 
class Parent 
{ 
    public Parent() 
     { 
     // Paremeterless constructor 
     } 

     public Parent(string a, int b) 
     { 
     // Paremterised constructor 
     }  
} 


// Child class  
class Child : Parent 
{ 
    public Child() 
       :base("hi", 10) 
     { 
     // Parameterized constructor of the base class is invoked 
     } 
} 
相關問題