| |
1-70 Abbildende C++-Sprache, v1.1 Juni 2003 1 Anmerkung: Ausgabe 3298 Aus den gleichen Gründen ein C++ OBV _ Kategorie definiert einen geschützten Rückstellungserbauer, a geschützter Erbauer, der ein Einleitungsprogramm für jedes valuetypedatenmitglied nimmt und a geschützter Verbrennungsofen. Die Parameter des Erbauers, der ein Einleitungsprogramm für jedes nimmt Mitglied scheinen im gleichen Auftrag, der die Datenmitglieder erscheinen, Oberseite, in zu grundieren IDL-valuetypedefinition, unabhängig davon, ob sie allgemein oder privat sind. Wenn valuetype übernimmt von einem konkreten valuetype, dann Parameter für die Datenmitglieder von das übernommene valuetype erscheinen zuerst. Alle Parameter für das Mitgliedseinleitungsprogramm der Erbauer folgen dem C++ Parameterüberschreitenrichtlinien für innen abbildend Argumente von ihrem jeweilige Arten. Für valuetypes, die keine Betriebe anders als Fabrikeinleitungsprogramme haben, die gleichen Erbauer und Verbrennungsöfen werden, aber mit allgemeinem Zugang damit sie erzeugt kann direkt durch Anwendungscode benannt werden. Bewegliche Anwendungen rufen nicht ein valuetype hervor Kategorienkopienerbauer oder -rückstellung Zuweisungsoperator. Wegen des angeforderten zählenden Werthinweises, die Rückstellung Zuweisungsoperator für ein valuetype Kategorie ist und vorzugsweise privat unimplemented mißbilligen Sie vollständig Anweisung von valuetype Fälle. 1,17,3 Betriebe Valuetype Die Betriebe, die auf einem valuetype erklärt werden, werden zum allgemeinen reinen virtuellen Mitglied abgebildet Funktionen im entsprechenden valuetype C++-Kategorie. (Anmerkung dieser Mitgliedsstaat Accessor und Modifizierfaktorfunktionen sind nicht betrachtet, um Betriebe zu sein -- sie haben das unterschiedliche Parameterüberschreiten ordnet als Betriebe an und also gekennzeichnet sie immer als Accessor und Modifizierfaktorfunktionen.) Keine der reinen virtuellen Mitgliedsfunktionen das Entsprechen Betrieben ist erklärtes const weil anders als C++, IDL stellt keine Weise zur Verfügung, zwischen Betrieben zu unterscheiden, die den Zustand eines Gegenstandes ändern und die, die bloß diesen Zustand zugänglich machen. Diese Wahl, ähnlich der Wahl getroffen für C++, das für die Betriebe erklärt werden in den IDL-Schnittstellenarten abbildet, hat eine Auswirkung an das Parameterüberschreiten ordnet an, wie in Abschnitt 1,22 beschrieben, "Argumentüberschreiten Betrachtungen, "auf Seite 1-103. Das alternative, alles reine virtuelle Mitglied erklärend Funktionen als const ist weniger wünschenswert, weil es nicht Mitgliedsfunktionen erlauben würde übernommen von der Schnittstelle klassifiziert, auf const hervorgerufen zu werden Wertfälle, seit allen so Mitgliedsfunktionen werden bereits als nicht const abgebildet . Die C++-Unterzeichnungen und das Gedächtnismanagement ordnet für valuetype an Betriebe (aber nicht sind Mitgliedsstaataccessor und Modifizierfaktorfunktionen) zu denen identisch, die innen beschrieben werden Abschnitt 1,22, "Argument, das Betrachtungen," auf Seite 1-103 führt für Klient-Seite Schnittstellenbetriebe. Ein statischer _ Downcast Funktion wird durch jede valuetypekategorie zur Verfügung gestellt, um ein bewegliches zur Verfügung zu stellen Weise, damit Anwendungen hinunter die C++-Erbschafthierarchie werfen. Dieses ist besonders erfordert nach einer Anforderung des _ copy_value Funktion (sehen Sie Abschnitt 1,17,5, "ValueBase und Hinweis, die," auf Seite 1-72 zählen) . Wenn ein ungültiger Zeiger zu geführt wird _ Downcast , bringt er einen ungültigen Zeiger zurück. Andernfalls wenn der valuetypefall auf zeigte durch das Argument ist ein Fall der valuetypekategorie, die zu, ein Zeiger zu downcast ist downcast- zur Kategorie wird Art zurückgebracht. Wenn der valuetypefall auf durch das Argument zeigte ist nicht ein Fall der valuetypekategorie, die zu, ein ungültiger Zeiger downcast ist, wird zurückgebracht. |  |
|
| |
|
|