Funkcja zaprzyjaźniona: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
PG (dyskusja | edycje)
drobne redakcyjne
Paweł Ziemian BOT (dyskusja | edycje)
m Zamieniam przestarzały tag 'source' na 'syntaxhighlight'
 
Linia 11:
== Przykład w C++ ==
Dana jest klasa ''K'', funkcja ''void fun( K& )'' która modyfikuje prywatny składnik ''x'' obiektu klasy ''K'', oraz klasa ''Y'' która ma funkcję składową ''void Y::fun( K& )'' która również modyfikuje prywatny składnik ''x'' obiektu klasy ''K''. ''(brak definicji klasy ''Y'', dla prostoty przykładu)'' Aby funkcje te mogły modyfikować prywatny składnik ''x'', można go oznaczyć jako publiczny(''public''), ale wtedy składnik ''x'' mogłaby modyfikować każda inna funkcja. Aby zatem pozwolić modyfikować składnik ''x'' tylko wybranej/wybranym funkcjom należy jednoznacznie określić którym przez dodanie słowa ''friend'' na początku definicji funkcji:
<sourcesyntaxhighlight lang="cpp">
class K {
//poprzez domniemanie jest private:
Linia 23:
cout << obiekt.x;
}
</syntaxhighlight>
</source>
 
== Zobacz też ==