ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΏΡΠ½ΠΊΡΠΈΡΠ½ΠΎΠΉ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ (ΡΠΎ ΡΡΡΠ΅Π»ΠΊΠΎΠΉ), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ. ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄ΡΡΠ³ΡΡ. ΠΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΠΏΠ»ΠΎΡΠ½ΠΎΠΉ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ ΡΠΎ ΡΡΡΠ΅Π»ΠΊΠΎΠΉ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅ΠΉ Π½Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ (ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡ). ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π²ΡΠ²Π΅Π΄Π΅Π½Π° ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ. ΠΡΡΠΎΡΠΈΠ°ΡΠΈΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΠΏΠ»ΠΎΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΡΡΡΠΊΡΡΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π±Π». 10.2. ΠΡΠΈ ΡΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ, ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ. Π‘ΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌ ΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΡΠΌ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π±Π». 10.3 ΠΈ 10.4. ΠΡΠ»ΠΈ ΡΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Β«ΡΠΊΡΠ°ΡΠ΅Π½ΠΈΡΒ», ΠΎΠ½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ .
Π’Π°Π±Π»ΠΈΡΠ° 10.2. Π‘ΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏΡ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌ
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
<< bind >> (<< ΡΠ²ΡΠ·Π°ΡΡ>>)
ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΉ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ peΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
<<friend>>(<<Π΄ΡΡΠ³>>)
Β Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅Β ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°
<<instanceOf>>Β (<<ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ>>)
ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°;ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡΒ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ
<< instantiate>>(<< ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ>>)
Β ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°;ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ
<< refine>>Β (<< ΡΡΠΎΡΠ½ΠΈΡΡ >>)
ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ΅ΠΌ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ; ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡΠ΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ
<< use >>
ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ (public) ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°
(<< ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ>>)
<< become>>(<< ΡΡΠ°ΡΡ>>)
Β ΠΎΠ±ΡΠ΅ΠΊΡ-ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ-ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ, Π½ΠΎ Π² Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°; ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ ΠΏΡ.
<<call>>
ΠΎΠ±ΡΠ΅ΠΊΡ-ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°
(<< Π²ΡΠ·Π²Π°ΡΡ>>)
<< ΡΠΎΡΡ >>(<< ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ>>)
Β ΠΎΠ±ΡΠ΅ΠΊΡ-ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠ½ΠΎΠΉ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ Β ΠΎΠ±ΡΠ΅ΠΊΡΠ°-ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°
<<access >>(<< ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ>>)
Β ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ°Π²ΠΎ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°
<<extend>>Β (<< ΡΠ°ΡΡΠΈΡΠΈΡΡ>>)
Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠ΅ΡΠ΅Π΄Π΅Π½Ρ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°
<<include>>(<< Π²ΠΊΠ»ΡΡΠΈΡΡ>>)
Β Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠ΅ΡΠ΅Π΄Π΅Π½Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΠ΅ΡΠ΅Π΄Π΅Π½Ρ Β ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°
ΠΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ²Π΅Π½Ρ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ ΠΊ ΡΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏΠ°ΠΌ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ Π² ΡΠ°Π±Π». 10.4:
β’ ΠΠΌΡ ΠΡΡΠΎΡΠΈΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈ ΠΌ Π΅ΡΡ ΠΈ ΠΌ Ρ (Π½Π°Π·Π²Π°Π½ΠΈΠ΅), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΈΡΠΎΠ΄Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ. Π ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΈΡΠ°ΡΡΡΡ ΠΈΠΌΡ.
β’ Π ΠΎΠ»Ρ Β Π ΠΎΠ»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ»Π°ΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ ΡΡΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ.
β’ ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ ΠΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π°Π½Π½ΠΎΠΉ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ. ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π½Π° ΠΎΠ±ΠΎΠΈΡ ΠΊΠΎΠ½ΡΠ°Ρ Π»ΠΈΠ½ΠΈΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ.
β’ ΠΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ, Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ 1 ΡΠ²ΡΠ·Π°Π½ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ 2, Π½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ 2 Π½Π΅ ΡΠ²ΡΠ·Π°Π½ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ 1.
Π’Π°Π±Π»ΠΈΡΠ° 10.3. Π‘ΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏΡ ΠΈ ΠΎΠ³ΡΠ° Π½ ΠΈΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Β ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΠΎΠ±ΠΎΠ±ΡΠ΅ Π½ ΠΈΡΠΌ
β’ Π‘ΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏ << implementation >> (Β« ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Β») ΠΏΠΎΡΠΎΠΌΠΎΠΊ Π½Π°ΡΠ»Π΅Π»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ, Π½ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ ΠΎΡΠΊΡΡΡΡΠΌΠΈ (public) Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΡ
β’ ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ { complete } ({ΠΏΠΎΠ»Π½ΠΎΡΠ°}) ΠΠ±ΡΡΠ»ΠΎΠ²Π»ΠΈΠ²Π°Π΅Ρ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΠΎΡΠΎΠΌΠΊΠΈ Π² ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π°, ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ² Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ
β’ ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ { incomplete }({Π½Π΅ΠΏΠΎΠ»Π½ΠΎΡΠ°}) Π½Π΅ Π²ΡΠ΅ ΠΏΠΎΡΠΎΠΌΠΊΠΈ Π² ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π°, ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΌΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½Ρ
β’ ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ { disjoint } ({Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ}) ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΌΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠΏΠ°
β’ ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ { overlapping }({ΠΏΠ΅ΡΠ΅ΠΊΡΡΡΠΈΠ΅}) ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΌΠΊΠ°, Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠΏΠ°
Π’Π°Π±Π»ΠΈΡΠ° 10.4. Π‘ΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΡΠΌ
β’ navigation (ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅) ΠΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ (Π½Π΅ΡΠ΅Π²Π΅ΡΡΠΈΠ²Π½ΡΡ) Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ 1 ΡΠ²ΡΠ·Π°Π½ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ 2, Π½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ 2 Π½Π΅ ΡΠ²ΡΠ·Π°Π½ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ 1
β’ aggregation (Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅) ΠΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ²ΡΠ·Ρ Β«ΡΠ΅Π»ΠΎΠ΅-ΡΠ°ΡΡΡΒ», ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ Β«ΡΠ°ΡΡΡΒ» Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΡΠ·Π°Π½Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΠ΄Π½ΠΈΠΌ Β«ΡΠ΅Π»ΡΠΌΒ»
β’ composition (ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ) ΠΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ²ΡΠ·Ρ Β«ΡΠ΅Π»ΠΎΠ΅-ΡΠ°ΡΡΡΒ», ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ Β«ΡΠ°ΡΡΡΒ» Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΠ΄Π½ΠΈΠΌ Β«ΡΠ΅Π»ΡΠΌΒ»
β’ ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ { implicit } ({Π½Π΅ΡΠ²Π½ΠΎΠ΅}) ΠΠ±ΡΡΠ»ΠΎΠ²Π»ΠΈΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΡΠΌ
β’ ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ { ordered } ({ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΡΡΡ}) ΠΠ±ΡΡΠ»ΠΎΠ²Π»ΠΈΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Ρ
β’ Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ { changeable } ({ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ}) ΠΠΏΠΈΡΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ, ΡΠ΄Π°Π»Π΅Π½ΠΎ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ
β’ Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ { addOnly } ({ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ}) ΠΠΏΠΈΡΡΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠ²ΡΠ·ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π² Π» Π΅Π½Ρ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π° ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ
β’ Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ { frozen } ({ΠΆΠ΅ΡΡΠΊΠΎΡΡΡ}) ΠΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ²ΡΠ·Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π° ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π°
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΊΠ»Π°ΡΡΠΎΠ². Π’Π°ΠΊΠ°Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°, Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ ΠΈΠ»ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ. ΠΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΠΆΠΈΡΡ Π°Π΄Π°ΠΏΡΠ΅ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² (Standard Template LibrΠ°rΡ β STL). ΠΠ΄Π°ΠΏΡΠ΅ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΎΡΠΊΡΡΡΡΠΉ (public) ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΊΠ°ΠΊ deque (double-ended queue β ΠΎΡΠ΅ΡΠ΅Π΄Ρ Ρ Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½ΠΈ ΠΌ Π΄ΠΎΡΡΡΠΏΠΎ ΠΌ), vector (Π²Π΅ΠΊΡΠΎΡ) ΠΈ list (ΡΠΏΠΈΡΠΎΠΊ). Π Π°ΡΡ ΠΌ ΠΎΡΡΠΈ ΠΌ ΠΏΡΠΈ ΠΌ Π΅Ρ. Π Π»ΠΈΡΡΠΈΠ½ Π³ Π΅ 10.1 ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° stack, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΠΎ Π³ ΠΎ Π΄Π»Ρ ΠΌ ΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° vector.
// ΠΠΈΡΡΠΈΠ½Π³ 10.1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° stack Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅
//Β ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°
template < class Container > class stack {
//...
public:
typedef Container::value_type value_type;
typedef Container::size_type size_type; protected:
Container Ρ;
public: