Laden...

Vererbung (Konstruktor der Basisklasse hat Parameter)

Erstellt von mark4u vor 17 Jahren Letzter Beitrag vor 17 Jahren 19.139 Views
M
mark4u Themenstarter:in
22 Beiträge seit 2006
vor 17 Jahren
Vererbung (Konstruktor der Basisklasse hat Parameter)

Hallo,

bin Anfänger und bekomme folgenden Code nicht durch den Compiler?

Klasse B soll von Klasse A erben. - Leider besitzt der Konstruktor von Klasse A Parameter! Gibt es für dieses Problem eine Lösung? Denn zur Zeit bekomme ich immer folgende Fehlermeldung.

Keine Überladung für die Methode 'classA' erfordert '0' Argumente

Klasse A


// Basisklasse
public class ClassA
{
  int iWert;
  
  public ClassA(int iX)
  {
    iWert = iX;
  }

  public int funkt()
  {
     ....
  }
}

Klasse B


public class ClassB : classA
{
		
  public ClassB()
  {

  }
		
  public int add(int Wert1, int Wert2)
  {
    .....
  }
}

-danke-
Mark

M
1.439 Beiträge seit 2005
vor 17 Jahren

ja, sehr viele.
entweder in Klasse A einen Parameterlosen Konstruktor einbauen, oder der Konstruktor der Klasse B ruft den der Klasse A auf=>


class B: A {
   B(): base(0) { ... }
   oder
   B(int i): base(i) { ... }
}

3.170 Beiträge seit 2006
vor 17 Jahren

Du musst mit dem Schlüsselwort base den Konstruktor der Basisklasse beerben.
Um die Parameterübergabe wirst du aber nicht drumherumkommen:

public class ClassB : classA
{

public ClassB(int iX): base(iX)
{

}

public int add(int Wert1, int Wert2)
{
.....
}
}
EDIT:
too late

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

M
mark4u Themenstarter:in
22 Beiträge seit 2006
vor 17 Jahren

Besten DANK für die Antwort

  • mark -