Fragen zur Main()-Methode?



  • Sers COM,

    ich hab da mal ein paar Fragen zur Main()-Methode in C#.

    Gibt es einen Grund, warum diese "nicht öffentlich" sein sollte, sondern private?

    Nebenfrage: Und gibt es etwa Äquivalentes in C++? Also jetzt nicht das klassische "int main(){...}", sondern von der Art und Funktionsweise her wie in C#, also statisch und private deklariert? Was ist überhaupt der Grund, dass man in C# das nun so verändert und nicht so wie in C++ belassen hat? Ich meine, gibts da jetzt Vorteile?
    Wie würde denn eine entsprechende äquivalente oder annähernd äquivalente Deklarartion und Implementierung in C++ aussehen?

    MfG

    Schlitzauge 🙂



    1. Ich denke sie sollte private sein damit das Konzept der Kapselung eingehalten wird, sie soll nicht von außen aufgerufen werden, also sollte sie nach außen auch nicht sichtbar sein.

    2. Nein sowas gibt es in C++ nicht.

    3. Der Grund der Änderung ist, dass C# im Gegensatz zu C++ keine freien Funktionen mehr erlaubt.
      Die Vorteile vom verbieten freier Funktionen:

    -Es gibt eine bessere Kapselung, damit keine Namensprobleme (du kannst deine Funktion ja nicht 'foo' nennen wenn eine freie Funktion schon 'foo' heißt)

    - Macht Reflection einfacher

    - Es macht die Sprache einfach wenn man sagt es gibt nur Klassen und nicht auch noch freie Methoden

    1. Ich verstehe nicht ganz was du meinst, du kannst die Main in C++ einfach nicht ein eine Klasse packen.

Anmelden zum Antworten