Heim > Artikel > Backend-Entwicklung > Warum gibt es in C keine virtuellen Konstruktoren?
Vermeidung virtueller Konstruktoren in C: Erkenntnisse von Bjarne Stroustrup
Während die objektorientierte Programmierung üblicherweise virtuelle Funktionen verwendet, um Polymorphismus zu ermöglichen, fehlt C dies Konzept der virtuellen Konstrukteure. Diese Besonderheit hat viele Entwickler verwirrt und zu der Frage geführt: Warum fehlt diese Funktion in C? hat die folgende Erklärung in den FAQ zu C-Stil und -Technik verfasst:
„Ein virtueller Aufruf ist ein Mechanismus zum Erhalten von Funktionalität, wenn Teilinformationen über ein Objekt gegeben werden. Insbesondere ermöglichen virtuelle Aufrufe das Aufrufen von Funktionen, selbst wenn sie nur Schnittstellen kennen.“ und nicht den spezifischen Typ des Objekts. Für die Erstellung eines Objekts sind jedoch vollständige Informationen erforderlich, insbesondere die Kenntnis des genauen Typs des zu instanziierenden Objekts. Daher kann der Aufruf eines Konstruktors nicht virtuell erfolgen C hat keine virtuellen Konstruktoren. Trotz dieser Einschränkung bietet Stroustrups FAQ auch einen Codeausschnitt, der eine alternative Möglichkeit bietet, ähnliche Funktionen zu erreichen, ohne auf virtuelle Konstruktoren zurückzugreifen.
Das obige ist der detaillierte Inhalt vonWarum gibt es in C keine virtuellen Konstruktoren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!