C++ - Freund Vererbung?
Macht eine Unterklasse erbt die Hauptklasse' Freund-Verbände (sowohl die Haupt-Klasse der " eigenen und anderen Klassen friended mit der main-Klasse)?
Oder anders gesagt, wie funktioniert die Vererbung gelten für das friend-Schlüsselwort?
Erweitern:
Und wenn nicht, gibt es eine Möglichkeit, zu Erben Freundschaft?
Ich habe Jon ' s Vorschlag zu posten bis das design-problem:
C++ - Klasse design-Fragen
InformationsquelleAutor der Frage SSight3 | 2011-09-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Freundschaft wird nicht vererbt in C++.
Standard erklärt (ISO/IEC 14882:2003, Abschnitt 11.4.8):
InformationsquelleAutor der Antwort Jon
Freund gilt nur für die Klasse, die Sie explizit als Freund und keine andere Klasse.
http://www.parashift.com/c++-faq-lite/Freunde.html#faq-14.4
InformationsquelleAutor der Antwort balki
Können Sie erstellen, die (statische) geschützte Methoden in der Eltern -, die Ihnen erlauben, Dinge zu tun wie das.
Diese jedoch umgeht Kapselung, so sollten Sie sich vielleicht einen zweiten Blick auf Ihr design.
InformationsquelleAutor der Antwort selalerer
Ist die Antwort sehr einfach: Nein, Unterklassen Erben nicht Freund Verbänden. Ein Freund kann nur Zugriff auf die privaten Elemente der Klasse der Verein deklariert ist, nicht die der Eltern und/oder Kindern der Klasse. Obwohl Sie unter Umständen Zugriff auf geschützte member der Oberklasse, aber ich bin mir nicht sicher.
InformationsquelleAutor der Antwort Aardvark Soup