Heim >Backend-Entwicklung >C++ >Wie erreicht C Polymorphismus und welche verschiedenen Typen gibt es?
Polymorphismus ermöglicht es verschiedenen Objekttypen, einheitlich auf dieselbe Nachricht, beispielsweise einen Funktionsaufruf, zu reagieren Weg. C bietet mehrere Mechanismen zum Erreichen von Polymorphismus.
Überladung: Funktionen mit demselben Namen, aber unterschiedlichen Parametertypen werden verwendet, um unterschiedliche Implementierungen für unterschiedliche bereitzustellen Typen.
Vorlagen: Klassen und Funktionen können mit generischen Typen definiert werden Parameter, sodass eine einzelne Funktion mit mehreren Typen arbeiten kann.
Virtueller Versand: Funktionen in Klassen können als virtuell deklariert werden, wodurch abgeleitete Klassen die Funktion überschreiben und ihre eigenen Implementierungen bereitstellen können.
Vom Compiler bereitgestellter Polymorphismus: Bestimmt Integrierte Operatoren und Operationen werden vom Compiler überlastet, um Polymorphismus zu unterstützen.
Konvertierungen: Implizite und explizite Konvertierungen können zum Konvertieren zwischen verschiedenen Typen verwendet werden, wodurch die Interaktion zwischen verschiedenen Datentypen erleichtert wird.
Zwang/Casting: Implizite oder explizite Typkonvertierungen können manuell oder durch durchgeführt werden Casts.
Polymorphismus zur Kompilierungszeit: Polymorphismus wird vom Compiler während der Kompilierung behandelt. Dazu gehören Überladung und Vorlagen.
Laufzeitpolymorphismus: Polymorphismus wird während der Programmausführung dynamisch gehandhabt. Dazu gehört auch der virtuelle Versand.
Ad-hoc-Polymorphismus: Polymorphismus wird durch die Angabe einzelner Fälle für jeden Typ erreicht, der unterstützt werden muss.
Parametrischer Polymorphismus: Polymorphismus, der unter Verwendung generischer Typen ohne Angabe spezifischer Typoperationen erreicht wird. Dies tritt häufig bei Vorlagen und Makros auf.
Diskussion
Das obige ist der detaillierte Inhalt vonWie erreicht C Polymorphismus und welche verschiedenen Typen gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!