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
-
-
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.
-
Nein sowas gibt es in C++ nicht.
-
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
- Ich verstehe nicht ganz was du meinst, du kannst die Main in C++ einfach nicht ein eine Klasse packen.
-