Hi,
Ich habe mich längere Zeit mal mit C++ beschäftigt speziel mit der Entwiklung von 2D spielen und befasse mich nun aus schulischen Gründen mit C#. Hierzu arbeite ich ein Buch durch.
Ich habe jetzt ein kleines Programm geschrieben. Indem ich eine Basisklasse habe und eine Unterklasse der ich 2 Konstruktoren vererben will. Den Konstruktor ohne Parameterangabe wird ohne Probleme vererbt nur der Konsturktor mit den beiden Parameterangeben kann mit der Subklasse nicht aufgerufen werden.
Also 2 Fragen dazu:
Woran liegt es das der Konstruktor mit den 2 Parameterangaben nicht vererbt wird? (ich weis auch nicht mehr ob das in C++ möglich ist vieleicht kann ja auch dazu noch jemand was sagen )
Und gibt es eine möglichkeit, wie in C++ einfach einen Teil seiner Klasse in den public Teil und den andern in den protected oder private Teil einzuteilen oder muss ich wirklich vor jede Variabel und Funktion den Sichtbarkeitsspezifer schreiben?
Ich habe mich längere Zeit mal mit C++ beschäftigt speziel mit der Entwiklung von 2D spielen und befasse mich nun aus schulischen Gründen mit C#. Hierzu arbeite ich ein Buch durch.
Ich habe jetzt ein kleines Programm geschrieben. Indem ich eine Basisklasse habe und eine Unterklasse der ich 2 Konstruktoren vererben will. Den Konstruktor ohne Parameterangabe wird ohne Probleme vererbt nur der Konsturktor mit den beiden Parameterangeben kann mit der Subklasse nicht aufgerufen werden.
Code:
using System;
public class CMitarbeiter
{
protected int m_Lohn;
public string m_sMitarbeitername;
public CMitarbeiter()
{
m_Lohn = 1000;
m_sMitarbeitername = "unwichtig";
Console.WriteLine("Konstruktor ohne Parameter wurde aufgerufen");
}
public CMitarbeiter(int lohnhöhe, string name )
{
m_Lohn = 1000;
m_sMitarbeitername = name;
Console.WriteLine("KOnstukrot mit Paramertern wurde aufgerufen");
}
}
public class CVorarbeiter : CMitarbeiter
{
}
class Program
{
static void Main()
{
CMitarbeiter Hans = new CMitarbeiter(1000, "Hans");
CMitarbeiter Hans2 = new CMitarbeiter();
CVorarbeiter Hans3 = new CVorarbeiter();
CVorarbeiter Hans4 = new CVorarbeiter(1000, "Hans");
}
}
Also 2 Fragen dazu:
Woran liegt es das der Konstruktor mit den 2 Parameterangaben nicht vererbt wird? (ich weis auch nicht mehr ob das in C++ möglich ist vieleicht kann ja auch dazu noch jemand was sagen )
Und gibt es eine möglichkeit, wie in C++ einfach einen Teil seiner Klasse in den public Teil und den andern in den protected oder private Teil einzuteilen oder muss ich wirklich vor jede Variabel und Funktion den Sichtbarkeitsspezifer schreiben?