Conversion-Operator

Autor: Laura McKinney
Erstelldatum: 10 April 2021
Aktualisierungsdatum: 12 Kann 2024
Anonim
C++ Conversion Operator Tutorial : conversion functions
Video: C++ Conversion Operator Tutorial : conversion functions

Inhalt

Definition - Was bedeutet Conversion Operator?

Ein Konvertierungsoperator in C # ist ein Operator, mit dem eine Konvertierung für einen benutzerdefinierten Typ deklariert wird, sodass ein Objekt dieses Typs in einen anderen benutzerdefinierten Typ oder einen anderen Basistyp konvertiert werden kann. Die zwei verschiedenen Arten von benutzerdefinierten Konvertierungen umfassen implizite und explizite Konvertierungen.


Im Allgemeinen bieten explizite und implizite Konvertierungsoperatoren die Möglichkeit, eine Klasse in die anderen möglichen Datentypen umzuwandeln.

Ein expliziter Konvertierungsoperator muss mit einer Umwandlung aufgerufen werden und wird verwendet, wenn die Konvertierung für die Benutzer des Operators sichtbar sein muss. Es wird in Umwandlungsausdrücken verwendet, bei denen die beiden Datentypen nicht vollständig kompatibel sind und daher einen Umwandlungsoperator erfordern.

Ein impliziter Konvertierungsoperator ist einfach zu verwenden. Es erfordert keine spezielle Syntax und verbessert die Lesbarkeit des Codes. Es hilft einer Klasse auch dabei, Daten eines Datentyps ohne Typumwandlung in einen kompatiblen Typ umzuwandeln. Implizite Besetzung muss in Situationen wie Funktionsmemberaufrufen und -zuweisungen verwendet werden, in denen kein Risiko für Datenverlust oder das Auftreten von Ausnahmen besteht.

Eine Einführung in Microsoft Azure und die Microsoft Cloud | In diesem Handbuch erfahren Sie, worum es beim Cloud-Computing geht und wie Microsoft Azure Sie bei der Migration und Ausführung Ihres Unternehmens aus der Cloud unterstützen kann.

Techopedia erklärt Conversion Operator

Eine implizite Konvertierung kann für eine Klasse definiert werden, indem das Schlüsselwort "implicit" zusammen mit dem Schlüsselwort "operator" verwendet wird. Eine explizite Konvertierungsoperation kann für eine Klasse definiert werden, indem das Schlüsselwort "explicit" zusammen mit dem Schlüsselwort "operator" verwendet wird. Beide Konvertierungen müssen als statisch definiert werden.


Beispielsweise kann eine Klasse, RomanNumeral, mit zwei Konvertierungsoperatoren definiert werden. Es kann ein impliziter Konvertierungsoperator für die Konvertierung von der RomanNumeral-Klasse in eine Zeichenfolge definiert werden, um eine Zahl in der Form einer römischen Zahl anzuzeigen. Der explizite Konvertierungsoperator kann definiert werden, um die Konvertierung von der RomanNumeral-Klasse in eine Ganzzahl durchzuführen.

Die Konvertierung einer Klasse in einen Objekttyp oder einen Schnittstellentyp ist nicht zulässig. Gleiches gilt für die Konvertierung von einer Basisklasse in eine von einer Basisklasse abgeleitete Klasse.

Für eine bestimmte Klasse können weder der explizite noch der implizite Operator für die Konvertierung von demselben Typ in einen anderen angegeben werden.

Es sollte darauf geachtet werden, dass eine implizite Konvertierung keinen Datenverlust oder eine Ausnahme zur Folge hat. Wenn es gültige Gründe gibt, eine Ausnahme auszulösen, sollte die Konvertierung explizit erfolgen.


Diese Definition wurde in der con von C # geschrieben