Zum Inhalt springen

[C#] bestimmte Variablen per new anlegen


Empfohlene Beiträge

Hi,

kann mir einer von euch erklären warum ich in C# eine Instanz einer Klasse oder

ein Array mit new anlegen muß?

In C bzw. C++ braucht man new nur wenn man einen Zeiger initialisiert und

deshalb verstehe ich auch nicht warum ich das bei C# (bei Objekten und Arrays)

immer brauche:confused:

Gruß

Guybrush

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Objekte müssen alle mit NEW neu instanziert werden und der Konstruktor wird auch erst zu diesem Zeitpunkt aufgerufen.. Die Datentypen sind davon nicht betroffen(integer, string, double ... )

Diese Vorgehensweise ist unter VB auch nicht anders gewesen und hat sich bestens bewährt, warum genau das allerdings so ist, kann ich dir nicht sagen...Ich weiss nur dass es anders gar nicht geht und es auch nicht unbedigt sinn machen würde..?

Wo liegt da das Problem?

gruss

blear

Link zu diesem Kommentar
Auf anderen Seiten teilen

mit Circle meinKreis

deklarierst du nur eine Objektvariable für ein Objekt, d.h. es wird im Prinzip ein Zeiger auf eine speicheradresse gesetzt

Mit Circle meinKreis = new Circle()

erst mit new beginnt der Lebenslauf des Objektes, d.h. der KOnstruktor wird aufgerufen--> Initialisierung des Objektes

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ein Problem hab ich damit nicht, es interresiert mich nur warum man sich für den

Weg entschieden hat, obwohl es bei C++ nicht so war.

BSP für C++:


class test
{
public:
test()
{
i=5;
}
void ausgabe()
{
printf("\n%i",i);
return;
}
private:
int i;
};

main()
{
test t;
t.ausgabe();
return 0;
}
[/PHP]

Es wird eine Instanz der Klasse test angelegt und danch die Variable i ausgegeben.

Die new Funktion braucht man nur wenn man einen Zeiger initialisiert:

[PHP]
main()
{
test *t;
t = new test;
t->ausgabe();
return 0;
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...