In der objektorientierten Programmierung bezieht sich friend auf eine Methode oder Klasse, die auf einige nicht-öffentliche Aspekte einer bestimmten Klasse zugreifen kann.
Diese Frage lässt sich am einfachsten anhand eines Beispiels veranschaulichen, also hier:
Ist der folgende Code garantiert gültig und compile & amp; richtig laufen?
(Nicht alle Implementierungen kompilieren es tatsächlich korrekt, aber ich...
Ich versuche eine Factory für abgeleitete Klassen zu erstellen. Ich möchte nur, dass die Factory Instanzen der abgeleiteten Klassen erstellen kann, also habe ich den Basiskonstruktor protected ; Die abgeleiteten Klassen verwenden nur die Basis...
Wie lautet die Syntax für die Deklaration einer statischen Memberfunktion als friend der Klasse, in der sie sich befindet?
%Vor%
Kann ich es zu diesem Einliner zusammenfalten?
%Vor%
Gibt es eine andere Möglichkeit, alles in eine ein...
Ich versuche, eine Freund-Funktion innerhalb einer Template-Klasse zu kompilieren, aber die Fehlermeldung und Warnung verstehe ich nicht. Ich habe eine Demonstration des Problems gemacht. Der Fehler, den ich bekomme, ist:
prog.cpp: 8: 57:...
Ich habe zwei Klassen A und B, wo B ein Freund von A ist.
Wie zeige ich das in UML?
Ist es in Ordnung, es mithilfe der Abhängigkeitsrelation zu zeigen und dann einen Kommentar zur folgenden Beziehung hinzuzufügen?
%Vor%
B -------------...
Ich habe eine Klassenvorlage Foo<T> .
Ich möchte eine Nichtmitgliedsfunktion Bar implementieren, die zwei Foo s benötigt und eine Foo zurückgibt. Ich möchte, dass Bar kein Mitglied ist, da es für Anrufer natürlicher ist,...
Dieser Code wird mit clang 3.7.1 (ohne Diagnose) kompiliert, schlägt aber mit GCC 5.3.0 ( Live-Beispiel ):
%Vor%
Die Fehlermeldung von GCC lautet wie folgt:
main.cpp: 13: 16: Fehler: Spezialisierung von 'A' nach Instanziierung...
Der folgende Code, der die Friend-Deklaration enthält, schlägt mit dem angegebenen Fehler fehl (siehe Ссылка ):
%Vor%
Wenn die Reihenfolge der Deklaration von Freunden und der Deklaration von Mitgliederfunktionen umgekehrt wird, wird der Co...
Es wird die gleiche Frage gestellt: Warum erlaubt GCC das Erben von einer privaten geschachtelten Klasse?
Für Nicht-Template-Klassen darf es von privaten verschachtelten Klassen erben
wenn es ein Freund ist, aber nicht für Vorlagenklassen.
Ist e...
Im folgenden C ++ - Beispielcode stimmen GCC 6 und Clang 3.8 nicht überein, was das richtige Verhalten ist:
Dieses konstruierte Beispiel "funktioniert" - wie in der Funktion test() gibt o.p in GCC zurück. In clang ruft es die (undefinie...