ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π² C++
ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΡΠ΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π»ΠΎΠΌΠ°Π΅ΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΎΠ± Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΠΊΠ°ΠΊ ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π΄ΡΡΠ³ Π·Π° Π΄ΡΡΠ³ΠΎΠΌ. Π ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡΡΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π² C++ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
1. ΠΡΠΎΡΡΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
2. ΠΠΎΡΡΡΠΏ ΠΊ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ
3. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ²
4. ΠΠ±ΡΠ΅ΠΌΠ»ΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ
5. ΠΡΠΈΠΌΠ΅ΡΡ ΡΠ²ΡΠ·Π½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ Π½Π°ΡΠΊΠΎΠ΅ΠΌΠΊΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΎΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈ Π΅Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΠΈ. ΠΠ»Π°ΡΠΎΠΉ Π·Π° ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠΊΠΎΠ΅ΠΌΠΊΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Ρ. Π΅. ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΌΠ° Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° Π΄Π΅ΡΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ.
ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΡΠ΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π»ΠΎΠΌΠ°Π΅ΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΎΠ± Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΠΊΠ°ΠΊ ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π΄ΡΡΠ³ Π·Π° Π΄ΡΡΠ³ΠΎΠΌ. Π ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π³ΡΡΠΏΠΏΡ ΠΈ ΡΡΡΠΎΠ³ΠΎ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ (ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠ±Π°Ρ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ°ΠΊ Π±Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ ΠΊ ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠΌ, Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π°. Π’Π°ΠΊΠΎΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ Π² Π΅Π΄ΠΈΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ Π½ΠΎΡΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ. Π‘Π°ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠΌΡ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΎΠΉ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. Π’Π°ΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΡΡΡΠΎ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, Π½ΠΎ ΠΈ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈ Π΅Π΅ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ.
1. ΠΡΠΎΡΡΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π C++ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π²ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ² ΠΊΠ»Π°ΡΡΠ° (ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ-ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²) Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠ»Π°ΡΡΠ°ΠΌ, Π½Π°ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ.
ΠΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ»Π°ΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΉ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΡΡΠ³ΠΎΠΌΡ, Π½Π°Π·ΡΠ²Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ. ΠΠ»Π°ΡΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ. Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π΄Π»Ρ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΠΊΠΎΠ², ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΠΎΡΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΊΠ»Π°ΡΡ «Π§Π΅Π»ΠΎΠ²Π΅ΠΊ» Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ «Π€Π°ΠΌΠΈΠ»ΠΈΡ», «ΠΠΌΡ», «ΠΡΡΠ΅ΡΡΠ²ΠΎ» ΠΈ Π³ΠΎΠ΄ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ. Π€ΡΠ½ΠΊΡΠΈΠΈ-ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΡΠ°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ: «ΠΠ°Π΄Π°ΡΡΠ€Π°ΠΌΠΈΠ»ΠΈΡ», «ΠΠ°ΡΡΠΠΎΠ΄Π ΠΎΠΆΠ΄Π΅Π½ΠΈΡ», «ΠΡΠ²Π΅ΡΡΠΈΠΠ°ΠΠΊΡΠ°Π½Π€ΠΠ» ΠΈ Ρ. Π΄., ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅. ΠΡΠ»ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, «Π Π°Π±ΠΎΡΠ½ΠΈΠΊ» ΠΈΠ»ΠΈ «Π‘ΡΡΠ΄Π΅Π½Ρ», ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ, ΡΡΠΎ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠ½ΡΠΌ ΡΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ° «Π§Π΅Π»ΠΎΠ²Π΅ΠΊ», ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΊΠ»Π°ΡΡΠ° «Π§Π΅Π»ΠΎΠ²Π΅ΠΊ» Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π² ΠΊΠ»Π°ΡΡ «Π Π°Π±ΠΎΡΠ½ΠΈΠΊ» ΠΈΠ»ΠΈ «Π‘ΡΡΠ΄Π΅Π½Ρ». ΠΠ°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΡΡΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠ°ΠΊΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠΎΡΠ»Π°ΡΡΡΡ Π½Π° Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ, ΡΠΊΠ°Π·Π°Π² ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ, ΡΡΠΎ Π²ΡΠ΅ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π·Π°ΠΈΠΌΡΡΠ²ΡΡΡΡΡ. Π ΡΠΎΠΌ ΠΆΠ΅ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ «ΠΠ°ΡΠΏΠ»Π°ΡΠ°» ΠΈΠ»ΠΈ «ΠΠΎΠΌΠ΅ΡΠΠ°ΡΠ΅ΡΠ½ΠΎΠΉΠΠ½ΠΈΠΆΠΊΠΈ», ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ Π·Π°Π½ΠΎΠ²ΠΎ. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² Π‘++.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΡΡΠΎΠΈΡΡΡ Π½Π° Π±Π°Π·Π΅ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°:
class Base {
// ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°
};
class Derived: [ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄ΠΎΡΡΡΠΏΠ°] Base {
// ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°
};
ΠΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π·Π° Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ — Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ (:), Π·Π°ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΈΠΌΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈ Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ².
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ.
class Level0 { // ΠΠ°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ
private: int a;
protected: int b;
public: int c;
void f0();
};
class Level1: public Level0 { // ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ
private: int d;
protected: int e;
public: int f;
void f1();
};
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Level1 Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Level0. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠ°ΠΌΠΎΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅.
2. ΠΠΎΡΡΡΠΏ ΠΊ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ
ΠΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²) ΠΊΠ»Π°ΡΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠ»ΡΡΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ°, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠΌ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ private, public ΠΈΠ»ΠΈ protected.
Π§Π°ΡΡΠ½ΡΠΉ (private) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ ΠΈ Π΄ΡΡΠ·ΡΡΠΌ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΎΠ±ΡΠΈΠΉ (public) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈ Π²Π½Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. Π§Π°ΡΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ ΠΊΠ»Π°ΡΡΠ°ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ. C++ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΅ΡΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΠΉ (protected). ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ public ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ private. ΠΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ private ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Ρ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ° public ΠΈ protected Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ private ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ private-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅.
ΠΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ public Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠΎΠ²Π½Ρ Π΄ΠΎΡΡΡΠΏΠ°. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΈΠ· Π½ΠΈΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Ρ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ public ΠΈ protected.
Π Π°Π·Π½ΡΠ΅ ΡΠΈΠΏΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π²Π»ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π΄ΠΎΡΡΡΠΏ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅. ΠΡΠ°Π²ΠΈΠ»Π° Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π² ΡΠ°Π±Π».4.1.
Π’Π°Π±Π»ΠΈΡΠ° 4.1
ΠΠΎΡΡΡΠΏ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ | ΠΠΎΡΡΡΠΏ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ | ΠΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ | |
public | public protected private | public protected Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ | |
private | public protected private | private private Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ | |
ΠΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°-ΠΏΠΎΡΠΎΠΌΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° class ΡΡΠ°ΡΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ private, Π° ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° struct — public, ΡΠΎ Π΅ΡΡΡ
struct D: B{… }; ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ: struct D: public B{ public:…};
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠΉ ΠΊΠ°ΠΊ public, ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΠΈΠΏ Π΄ΠΎΡΡΡΠΏΠ°, ΡΡΠΎ Π±ΡΠ» Ρ Π½Π΅Π³ΠΎ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄ΠΎΡΡΡΠΏΠ°.
class Level0 { // ΠΠ°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ
private: int a;
protected: int b;
public: int c;
int e;
void f0();
};
class Level1a: public Level0 {
protected: int d;
public: int f;
void f1();
};
// ΠΠ±ΡΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ — ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ public-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ
void fn () {
Level0 L0;
Level1a L1;
L0.e = 1; // public-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ
L1.e = 1; // public-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠ· Level0 ΡΠ²Π»ΡΡΡΡΡ
// ΡΠ°ΠΊΠΆΠ΅ public ΠΈ Π² Level1a
L1.f = 2;
L1.f0();
L1.f1();
}
// ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
void Level0: f0() { // ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ Level0
a = 1;
b = 2;
c = 3;
}
void Level1a: f1() {
b = 1; // Π΄ΠΎΡΡΡΠΏΠ° ΠΊ a Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ
c = 2;
d = 3; // ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ Level1a
e = 4;
f = 5;
f0();
}
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°ΡΡΠ½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ L1. c ΠΈ L1. f0() Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ fn () Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ, Ρ ΠΎΡΡ L0. c ΠΈ L0. f0() ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ. ΠΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ f0() ΠΈ f1() ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ.
class Level1b: private Level0 {
private: int d;
protected: int e;
public: int f;
void f1();
};
class Level1c: Level0 { // Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Level1b
private: int d;
protected: int e;
public: int f;
void f1();
};
// ΠΠ±ΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ
void fn () {
Level0 L0;
Level1b L1;
L0.c = 1;
L0.f0();
L1.f = 1; // Π΄ΠΎΡΡΡΠΏΠ° ΠΊ L1. c ΠΈΠ»ΠΈ L1. f0() ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅Ρ
L1.f1();
}
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ΅Π±Π΅ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΠΌΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ private, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
class Level1d: private Level0 {
public:
Level0:c; // ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ c ΠΊΠ°ΠΊ public
int f;
void f1();
};
// ΠΠ±ΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ
void fn () {
Level0 L0;
Level1d L1;
L0.c = 1;
L0.f0();
L1.c = 1; // Π΄ΠΎΡΡΡΠΏ ΠΊ c ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½, Π½ΠΎ
// f0 ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ
L1.f = 2;
L1.f1();
}
ΠΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ Level1d ΠΊΠ°ΠΊ private-ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ c ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Ρ public Π½Π° private. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΎΠ±ΡΡΠ²ΠΈΠ² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ c ΠΊΠ°ΠΊ public, ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π΄Π΅Π»Π°Ρ L1. c Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΈΠ· ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ fn (). Level1d Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ°ΠΌ ΡΠ΅Π±Π΅ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ a, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌ (private) Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅.
3. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ²
ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΡΠ΅Π±ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ. ΠΡΠ»ΠΈ Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈ Π΅ΡΠ»ΠΈ Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠ·ΠΎΠ² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠΊΡΡΠ²Π°ΡΡΠ΅ΠΉ ΡΠΈΠ³ΡΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΎΠΉ.
class Level0 {
private: int a;
protected: int b;
public: int c;
void f0();
Level0(int v0) {
a = b = c = v0;
}
};
class Level1: public Level0 {
private: int d;
protected: int e;
public: int f;
void f1();
Level1(int v0, int v1): Level0(v0) {
d = e = f = v1;
}
};
// ΠΠ±ΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ
void fn () {
Level0 L0(1);
Level1 L1(1,2);
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ protectedΠΈ public-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°. C++ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π΅ΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ ΡΠ°ΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π°ΡΡ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΡΡΠΎ ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°.
Level1(int v0, int v1): (v0) { // ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ — Level (v0)
d = e = f = v1;
}
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΎΠ±ΡΠ΅ΠΌΠ»Π΅ΠΌΡΡ (ΡΠΌ. ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΠ°ΡΠ°Π³ΡΠ°Ρ) ΠΊΠ»Π°ΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠΎΠΊΠ΅, ΡΡΠΎ ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Level1 ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ Π΄Π²ΡΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ:
Level1(int v0, int v1): Level (v0), d (v1), e (v1), f (v1) { }
4. ΠΠ±ΡΠ΅ΠΌΠ»ΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ
Π‘ΡΠ°Π²Π½ΠΈΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ Level1, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ΅ΠΌΠ»Π΅Ρ, Π° Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Level0. ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ «ΠΎΠ±ΡΠ΅ΠΌΠ»ΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
class Level1 {
public: Level0 L0;
private: int d;
protected: int e;
public:
int f;
void f1();
};
// ΠΠ΅ΠΏΡΠΈΠ²Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ
void fn () {
Level1 L1;
L1.L0.c =1;
L1.f = 2;
L1.L0.f0();
L1.f1();
}
// ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ
void Level1: f1() {
L0.c = 1;
d = 2; e = 3; f = 4;
L0.f0();
}
ΠΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ»ΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠΎΠ² Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°. Level0: a Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ° Level1, Π° Level0: c Π΄ΠΎΡΡΡΠΏΠ΅Π½. ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠΉ (protected) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Level0: b Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΌΠ»ΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΌΠ»ΡΡΠΈΠΌ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΏΠΎΡΠΎΠ±Π΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ. ΠΡΡΠΊΠΈΠΉ ΡΠ°Π· ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Level0 ΠΎΠ½ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ L0. c, L0. f0() ΠΈ Ρ. Π΄. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΆΠ΅ ΠΊΠ»Π°ΡΡ ΡΡΡΠ»Π°Π΅ΡΡΡ ΠΊ ΡΡΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ ΠΊΠ°ΠΊ ΠΊ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΌΠ»ΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
5. ΠΡΠΈΠΌΠ΅ΡΡ ΡΠ²ΡΠ·Π½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ²
ΠΠ»Π°ΡΡ ΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ². Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΠΈΡΠΊΠ°.
//********************************//
// ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²//
// ΠΊΠ»Π°ΡΡΠΎΠ² «ΡΠΏΠΈΡΠΎΠΊ», «Π΄Π²ΡΡΠ²ΡΠ·Π½ΡΠΉ //
// ΡΠΏΠΈΡΠΎΠΊ", «Π·Π°ΠΊΠΎΠ»ΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ» //
//————————————————————————-//
// ΠΠ²ΡΠΎΡ: ΠΠ°ΡΠΈΡΠΈΠ½ Π. Π. //
//—————————————————————//
// ΠΠ΅ΡΡΠΈΡ: 07.12.02 v. 1.01.2 //
//—————————————————————————————————————;
#include
#include
#include
#include
#include
#include
#define IMAX 4
class List{ // ΠΠ»Π°ΡΡ «Π‘ΠΏΠΈΡΠΎΠΊ»
protected:
float Value; // ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»-ΡΠ° ΡΠΏΠΈΡΠΊΠ°
List *Next; // @ ΡΠ»Π΅Π΄. ΡΠ»-ΡΠ° ΡΠΏΠΈΡΠΊΠ°
public:
void AddElList (char);
void OutpList (char);
void DelElList (int);
void AddElList (float, char);
void CreateList ();
List (const char *Ident) // ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ°
{
cout << «Lead the value of the first «; //ΠΠ°ΠΏΡΠΎΡ Π½Π° Π²Π²ΠΎΠ΄
// Π·Π½Π°ΡΠ΅Π½ΠΈΡ
cout << «element of list «<<'n';
cin >> Value; // Π§ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»-ΡΠ°
Next = NULL; // 1-ΠΉ ΡΠ»-Ρ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° NULL
}
List () // ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
{
Value = 0; // Π§ΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½ΠΎΠ². ΡΠ»-ΡΠ°
Next = NULL; // ΠΠΎΠ². ΡΠ»-Ρ ΡΡΡΠ»-ΡΡ Π½Π° NULL
}
~List (); // ΠΠ΅ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ°
};
//————————————————//
// ΠΠ΅ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° List //
//————————————————//
List:~List ()
{
List *CurrEl, // Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ»-Ρ ΡΠΏΠΈΡΠΊΠ°
*TNext; // Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»-Ρ
CurrEl = this; // ΠΠ΅ΡΠ²ΡΠΉ ΡΠ»-Ρ — ΠΠ±ΡΠ΅ΠΊΡ
while ((CurrEl->Next≠ NULL) &&
(CurrEl->Next≠ this)){
TNext = CurrEl->Next; // Π‘ΠΎΡ ΡΠ°Π½ΠΈΠΌ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅Π΄. ΡΠ»-ΡΠ°
free (CurrEl);
CurrEl = TNext; // Π‘Π»Π΅Π΄. ΡΠ»-Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΠΊΡΡΠΈΠΌ
};
free (CurrEl); // Π£Π΄Π°Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»-Ρ
cout << «Object deleted» << 'n';
getch ();
}
//*****************************************************//
// Π€ΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ½Π΅Ρ ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° //
//*****************************************************//
void List: AddElList (char R)
{
List *CurrEl, // Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ»-Ρ ΡΠΏΠΈΡΠΊΠ°
*NewEl = new List; // ΠΠΎΠ²ΡΠΉ ΡΠ»-Ρ ΡΠΏΠΈΡΠΊΠ°
// ΠΡΠ΄Π΅Π»-Π΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ Π½ΠΎΠ². ΡΠ»-Ρ
CurrEl = this; // Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ»-Ρ — ΠΠ±ΡΠ΅ΠΊΡ
List* KeyWord;
KeyWord = R? this: NULL;
while (CurrEl->Next≠ KeyWord){ // ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°
CurrEl = CurrEl->Next;
}
cout << «Lead the value of new element of list «;
cin >> NewEl->Value; // ΠΠ²ΠΎΠ΄ Π·Π½Π°Ρ-Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ»-ΡΠ°
NewEl->Next = KeyWord; // ΠΠΎΠ²ΡΠΉ ΡΠ»-Ρ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° NULL
CurrEl->Next = NewEl; // ΠΠΎΠ²ΡΠΉ ΡΠ»-Ρ — Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°
}
//————————————————————————————————//
// Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° //
//————————————————————————————————//
void List: OutpList (char R)
{
int Count = 1; // Π‘ΡΠ΅ΡΡΠΈΠΊ ΡΠ»-ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ°
List *CurrEl; // Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ»-Ρ ΡΠΏΠΈΡΠΊΠ°
CurrEl = this; // Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ»-Ρ — ΠΠ±ΡΠ΅ΠΊΡ
void* KeyWord;
KeyWord = R? this: NULL;
while (CurrEl≠ KeyWord){
cout << Count << «-th element of list = «; // ΠΡΠ²ΠΎΠ΄ ΡΠ»-ΡΠ° ΡΠΏΠΈΡΠΊΠ°
cout << CurrEl->Value << 'n';
CurrEl = CurrEl->Next;
Count++;
}
}
//——————————————————————————-//
// Π€ΡΠ½ΠΊΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ i-Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΠΈΡΠΊΠ° //
//——————————————————————————-//
void List: DelElList (int i)
{
int Count = 1; // Π‘ΡΠ΅ΡΡΠΈΠΊ ΡΠ»-ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ°
List *CurrEl, // Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ»-Ρ ΡΠΏΠΈΡΠΊΠ°
*PrevEl; // ΠΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠ»-Ρ
CurrEl = this; // Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ»-Ρ — ΠΠ±ΡΠ΅ΠΊΡ
while (Count < i){ // ΠΡΠ΅Ρ ΠΎΠ΄ ΠΊ i-ΠΌΡ ΡΠ»-ΡΡ
PrevEl = CurrEl; // Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄. ΡΠ»-ΡΠ°
CurrEl = CurrEl->Next;
Count++;
}
PrevEl->Next = CurrEl->Next; // ΠΡΠ΅Π΄. ΡΠ»-Ρ ΡΡΡΠ»-ΡΡ Π½Π° ΡΠ»Π΅Π΄.
free (CurrEl);
}
//———————————————————————————————//
// Π€ΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ° //
// Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ //
//———————————————————————————————//
void List: AddElList (float Val, char R)
{
List *CurrEl,
*NewEl = new List;
CurrEl = this; // Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ»-Ρ — ΠΠ±ΡΠ΅ΠΊΡ
List* KeyWord;
KeyWord = R? this: NULL;
while (CurrEl->Next≠ KeyWord){ // ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°
CurrEl = CurrEl->Next;
}
CurrEl->Next = NewEl; // ΠΠΎΠ²ΡΠΉ ΡΠ»-Ρ — Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°
NewEl->Value = Val; // ΠΠ²ΠΎΠ΄ Π·Π½Π°Ρ-Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ»-ΡΠ°
NewEl->Next = KeyWord; // ΠΠΎΠ²ΡΠΉ ΡΠ»-Ρ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° NULL
}
//————————————————————————————————//
// Π€ΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° (Π²Π²ΠΎΠ΄ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»-ΡΠ° //
// ΡΠΏΠΈΡΠΊΠ°, ΡΠΎΠ·Π΄. ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²) //
//————————————————————————————————-//
void List: CreateList ()
{
List *CurrEl;
char ch;
int Ok = 0;
CurrEl = this; // Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ»-Ρ — ΠΠ±ΡΠ΅ΠΊΡ
do
if ((Value == 0)||(Ok == 1)){
cout << «Lead the value of the first «; //ΠΠ°ΠΏΡΠΎΡ Π½Π° Π²Π²ΠΎΠ΄
// Π·Π½Π°ΡΠ΅Π½ΠΈΡ
cout << «element of new list «<<'n';
cin >> CurrEl->Value;
break;
}
else
while (1);
}
//—————————————————————————————————————;
//——————————————————-//
// ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ: //
// Π΄Π²ΡΡΠ²ΡΠ·Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ //
//——————————————————-//
class DLList: public List{
List *Prev; // ΠΠ΄ΡΠ΅Ρ ΠΏΡΠ΅Π΄. ΡΠ»-ΡΠ° ΡΠΏΠΈΡΠΊΠ°
public:
DLList (): List (){
Prev = NULL;
}
void AddElList ();
void DelElList (int);
void AddElList (float);
};
//———————————————————————————————————————//
// Π€ΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ½Π΅Ρ Π΄Π²ΡΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° //
//———————————————————————————————————————//
void DLList: AddElList ()
{
DLList *CurrEl, // Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ»-Ρ ΡΠΏΠΈΡΠΊΠ°
*NewEl = new DLList; // ΠΠΎΠ²ΡΠΉ ΡΠ»-Ρ ΡΠΏΠΈΡΠΊΠ°
// ΠΡΠ΄Π΅Π»-Π΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ Π½ΠΎΠ². ΡΠ»-Ρ
CurrEl = this; // Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ»-Ρ — ΠΠ±ΡΠ΅ΠΊΡ
while (CurrEl->Next≠ NULL){ // ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°
CurrEl = (DLList*) CurrEl->Next;
}
cout << «Lead the value of new element of list «;
cin >> NewEl->Value; // ΠΠ²ΠΎΠ΄ Π·Π½Π°Ρ-Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ»-ΡΠ°
NewEl->Next = NULL; // ΠΠΎΠ²ΡΠΉ ΡΠ»-Ρ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° NULL
CurrEl->Next = NewEl; // ΠΠΎΠ²ΡΠΉ ΡΠ»-Ρ — Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°
NewEl->Prev = CurrEl; // ΠΠΎΠ²ΡΠΉ ΡΠ»-Ρ ΡΡΡΠ»-ΡΡ Π½Π° ΠΏΡΠ΅Π΄.
}
//———————————————————————————————————//
// Π€ΡΠ½ΠΊΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ i-Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π²ΡΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° //
//———————————————————————————————————//
void DLList: DelElList (int i)
{
int Count = 1; // Π‘ΡΠ΅ΡΡΠΈΠΊ ΡΠ»-ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ°
DLList *CurrEl, // Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ»-Ρ ΡΠΏΠΈΡΠΊΠ°
*PrevEl; // ΠΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠ»-Ρ
CurrEl = this; // Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ»-Ρ — ΠΠ±ΡΠ΅ΠΊΡ
while (Count < i){ // ΠΡΠ΅Ρ ΠΎΠ΄ ΠΊ i-ΠΌΡ ΡΠ»-ΡΡ
PrevEl = CurrEl; // Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄. ΡΠ»-ΡΠ°
CurrEl = (DLList*) CurrEl->Next;
Count++;
}
PrevEl->Next = (DLList*) CurrEl->Next; // ΠΡΠ΅Π΄. ΡΠ»-Ρ
// ΡΡΡΠ»-ΡΡ Π½Π° ΡΠ»Π΅Π΄.
PrevEl = (DLList*) PrevEl->Next;
PrevEl->Prev = CurrEl->Prev; // Π‘Π»Π΅Π΄. ΡΠ»-Ρ ΡΡΡΠ»-ΡΡ Π½Π° ΠΏΡΠ΅Π΄.
free (CurrEl);
}
//—————————————————————————————————//
// Π€ΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ° //
// (Π΄Π²ΡΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ) Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ //
//—————————————————————————————————//
void DLList: AddElList (float Val)
{
DLList *CurrEl,
*NewEl = new DLList;
CurrEl = this; // Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ»-Ρ — ΠΠ±ΡΠ΅ΠΊΡ
while (CurrEl->Next≠ NULL){ // ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°
CurrEl = (DLList*) CurrEl->Next;
}
CurrEl->Next = NewEl; // ΠΠΎΠ²ΡΠΉ ΡΠ»-Ρ — Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°
NewEl->Value = Val; // ΠΠ²ΠΎΠ΄ Π·Π½Π°Ρ-Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ»-ΡΠ°
NewEl->Next = NULL; // ΠΠΎΠ²ΡΠΉ ΡΠ»-Ρ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° NULL
}
//—————————————————————————————————————;
//———————————————————-//
// ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ: //
// Π·Π°ΠΊΠΎΠ»ΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ //
//———————————————————-//
class RLList: public List{
public:
RLList (){
Value = 0;
Next = this;
}
};
//—————————————————————————————————————;
// ΠΠ»Π°Π²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΡΡΠΈΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ
// ΠΠ»Π°ΡΡΠ° «Π‘ΠΏΠΈΡΠΎΠΊ»
int main (int argc, char **argv)
{
List TestL;
int Number;
char ch = 'Y'; // ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌ-Ρ
char Key = ' ', *PKey;
// ΠΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅
cout << «Hellow! You have ran the program of» ;
cout << «processing Lists just now.» << 'n';
cout << «First part:» << 'n';
cout << «Please, enter you choose:» << 'n';
PKey = &Key;
// ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ
do{
cout << «1 — New List» << 'n';
cout << «2 — Adding Element to List» << 'n';
cout << «3 — Deleting Element of List» << 'n';
cout << «4 — Output List to screen» << 'n';
cout << «5 — Exit» << 'n';
Key = getch ();
switch (Key){
case '1': TestL. CreateList (); break;
case '2': TestL. AddElList (0); break;
case '3': cout << «Enter the number of element» ;
cout << «you want to delete» << 'n';
cin >> Number;
TestL.DelElList (Number); break;
case '4': TestL. OutpList (0); break;
case '5': break;
default: cout << «Input Error» ;
}
fread (PKey, 1,1,stdin);
if (Key == '5')
break;
clrscr ();
}
while (1);
clrscr ();
cout << «Second part:» << 'n';
List L1(«L1»); // ΠΠ±ΡΠ΅ΠΊΡ — ΡΠΏΠΈΡΠΎΠΊ
do
if ((ch == 'Y')
while (1); // ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ»
L1.AddElList (12, 0);
L1.OutpList (0); // ΠΡΠ²ΠΎΠ΄ ΡΠΏ-ΠΊΠ° Π½Π° ΡΠΊΡΠ°Π½
getch ();
clrscr ();
cout << «Third part:» << 'n';
List L2;
int i;
L2.CreateList ();
for (i = 0; i <= IMAX; i++){
L2.AddElList ((float) i+1, 0);
}
L2.OutpList (0); // ΠΡΠ²ΠΎΠ΄ ΡΠΏ-ΠΊΠ° Π½Π° ΡΠΊΡΠ°Π½
getch ();
return 0;
}
//—————————————————————————————————————;
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° List Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠ΅ΠΉ ΠΏΠΎΠ»Π½Ρ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π²ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ:
void AddElList (char) — Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°,
void OutpList (char) — Π²ΡΠ²ΠΎΠ΄ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΌΠΏΠΈΡΠΊΠ° Π½Π° ΡΠΊΡΠ°Π½,
void DelElList (int) — ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°,
void CreateList () — ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ°.
ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· ΡΠ΅ΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠ»Π°ΡΡ Π΄Π²ΡΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° DLList ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ ΠΎΡ List. Π’Π°ΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½Π° Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π΄Π²ΡΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ, Ρ ΠΎΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π²ΡΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π° ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΈ ΠΊΠ»Π°ΡΡ Π·Π°ΠΊΠΎΠ»ΡΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° RLList, ΠΏΠΎ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° List.
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄ΠΎΡΡΡΠΏΠ° protected ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ»Π΅ΠΉ-Π΄Π°Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ° List ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ»Π°ΡΡΠ°Ρ , ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° List — DLList ΠΈ RLList. Π€ΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° List ΠΎΠΏΠΈΡΠ°Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° protected, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ ΠΈΠΌΠ΅Π½Π° ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ°ΠΊ ΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ° Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° DLList ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½Π° ΠΊΠ°ΠΊ privat, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π°Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠ»Ρ Π²ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ. ΠΠ½ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½, ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Ρ Π»ΡΠ±ΡΠΌΠΈ ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΏΠΎ ΡΠΈΡΠ»Ρ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΏΠΎΠ»Π΅ΠΉ.
Π€ΡΠ½ΠΊΡΠΈΡ main () Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π»ΠΈΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ ΠΌΠ΅Π½Ρ Π΄Π»Ρ Π΅Π³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΡΠΈΡΠ»ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΠΎΠ»Π½ΠΈΡΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ±ΡΠ΅ΠΊΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ ΡΠ»Π°ΠΆΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ² Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΌΠΈ Π·Π½Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ, ΠΊΠΎΠ³Π΄Π° Π΅Π΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠΎΠΊΠΈΠ½ΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π½Π΅ ΠΎΡΡΠ°Π²ΠΈΠ² ΠΎ ΡΠ΅Π±Π΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²ΠΎΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΊΡΠΎΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π½Π°ΡΠΈΠ½Π°Ρ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ, Π·Π°ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΡΠ²ΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅, Π° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΡΠ°Π±ΠΎΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π½Π°Π·Π°Π΄ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡΠΉ Π²ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π΅Π΅ ΡΠ°Π±ΠΎΡΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ΅ΡΠΊΠΎ Π·Π½Π°Π»ΠΈ ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΡ Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π΅, ΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΠ°Π±ΠΎΡΡ, ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΡΠ»ΠΈ Π΄Π²Π° ΠΊΠ»Π°ΡΡΠ° ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΠΎΠ±ΡΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, Π·Π½Π°ΡΠΈΡ Π΄Π»Ρ Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π»Ρ ΡΡΠΈΡ Π΄Π²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠΈΠΌΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΊΠ»Π°ΡΡΠΎΠ² Ρ ΠΎΠ±ΡΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π½ΡΠΆΠ½ΠΎ Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠ²ΠΎΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΠΈΠΌΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ. ΠΠ±ΡΡΡ ΠΆΠ΅ ΡΠ°ΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π‘++, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π² ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΎΠ±ΡΠΈΡΠ½ΡΠΉ Π°ΡΡΠ΅Π½Π°Π» ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΡΠ½ΡΠ΅ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π±Ρ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΠΈΡ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π»Π°Π΄Π΅ΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. ΠΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ·ΡΠΊΠ° Π‘++ ΠΈ ΠΏΠΎΡΠ²ΡΡΠ΅Π½ Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΡΠ°Π·Π΄Π΅Π» ΠΊΠ½ΠΈΠ³ΠΈ.
1. Π. Π£ΡΠΉΡ, Π‘. ΠΡΠ°ΡΠ°, Π. ΠΠ°ΡΡΠΈΠ½ Π―Π·ΡΠΊ Π‘ΠΈ: ΠΠ΅Ρ Ρ Π°Π½Π³Π».-Π.: ΠΠΈΡ, 2007.-463 Ρ., ΠΈΠ».
2. Π£ΠΈΠ½Π΅Ρ Π . Π―Π·ΡΠΊ Π’ΡΡΠ±ΠΎ Π‘ΠΈ: ΠΠ΅Ρ Ρ Π°Π½Π³Π».-Π.: ΠΠΈΡ, 2010.-384 Ρ., ΠΈΠ».
3. Π. Π. ΠΠΎΠ΄Π±Π΅Π»ΡΡΠΊΠΈΠΉ. Π―Π·ΡΠΊ C++: Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅. — ΠΠΎΡΠΊΠ²Π°: Π€ΠΈΠ½Π°Π½ΡΡ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, 199 560Ρ.
4. ΠΡΡ ΠΠΎΠ». ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ C++: ΠΠ΅Ρ. Ρ Π°Π½Π³Π». — ΠΠΈΠ΅Π²: ΠΠΠΠΠ€ ΠΠΈΠ°Π‘ΠΎΡΡ ΠΡΠ΄, 199 480Ρ.
5. Π’. Π€Π΅ΠΉΡΠΎΠ½. ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Borland C++ 4.5: ΠΠ΅Ρ. Ρ Π°Π½Π³Π». — ΠΠΈΠ΅Π²: ΠΠΈΠ°Π»Π΅ΠΊΡΠΈΠΊΠ°, 1996. 544Ρ.