ΠΌΠ΅ΠΉΠ΅ΡΡ Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ 55 Π²Π΅ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ»ΡΡΡΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠ΄ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
Π‘ΠΊΠΎΡΡ ΠΠ°ΠΉΠ΅ΡΡ: ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++. 55 Π²Π΅ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ»ΡΡΡΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠ΄ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
ΠΠ΄Π΅ΡΡ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΡΠ°ΡΡ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΊΠΎΡΡ ΠΠ°ΠΉΠ΅ΡΡ: ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++. 55 Π²Π΅ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ»ΡΡΡΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠ΄ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΒ» Π²Π΅ΡΡ ΡΠ΅ΠΊΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ (ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΏΠΎΠ»Π½ΡΡ Π²Π΅ΡΡΠΈΡ). Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅. ΠΠΎΡΠΎΠ΄: ΠΠΎΡΠΊΠ²Π°, Π³ΠΎΠ΄ Π²ΡΠΏΡΡΠΊΠ°: 2006, ISBN: 5-94074-304-8, ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ: Array ΠΠΈΡΠ°Π³Π΅Π½Ρ Β«ΠΠΠΒ», ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ: ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ / Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ, (ΠΏΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅) Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΡΠ·ΡΠ²Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Π΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° ΠΏΠΎΡΡΠ°Π»Π΅. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Β«ΠΠΈΠ± ΠΠ°ΡΒ» β LibCat.ru ΡΠΎΠ·Π΄Π°Π½Π° Π΄Π»Ρ Π»ΡΠ±ΠΈΡΠ΅Π»Π΅ΠΉ ΠΏΠΎΠ»ΠΈΡΡΠ°ΡΡ Ρ ΠΎΡΠΎΡΡΡ ΠΊΠ½ΠΈΠΆΠΊΡ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠΈΡΠΎΠΊΠΈΠΉ Π²ΡΠ±ΠΎΡ ΠΆΠ°Π½ΡΠΎΠ²:
ΠΡΠ±ΡΠ°Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΠΏΠΎ Π΄ΡΡΠ΅ ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎΡΡΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ Π½Π°ΡΠ»Π°Π΄ΠΈΡΡΡΡ ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² ΠΌΠΈΡ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠΎΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π³Π΅ΡΠΎΠ΅Π² ΠΈΠ»ΠΈ ΡΠ·Π½Π°ΡΡ Π΄Π»Ρ ΡΠ΅Π±Ρ ΡΡΠΎ-ΡΠΎ Π½ΠΎΠ²ΠΎΠ΅, ΡΠΎΠ²Π΅ΡΡΠΈΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΎΡΠΊΡΡΡΠΈΠ΅. ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½ΠΈΠΆΠ΅:
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++. 55 Π²Π΅ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ»ΡΡΡΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠ΄ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ: ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ
ΠΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΠΊ ΡΡΠ΅Π½ΠΈΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅ (Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π» ΡΠ°ΠΌ Π°Π²ΡΠΎΡ ΠΊΠ½ΠΈΠ³ΠΈ Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++. 55 Π²Π΅ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ»ΡΡΡΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠ΄ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΒ»). ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π½Π°ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ½ΠΈΠ³Π΅ β Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ , ΠΌΡ ΠΏΠΎΡΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΎΡΡΡΠΊΠ°ΡΡ Π΅Ρ.
Π‘ΠΊΠΎΡΡ ΠΠ°ΠΉΠ΅ΡΡ: Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ Π°Π²ΡΠΎΡΠ°
ΠΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π» ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++. 55 Π²Π΅ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ»ΡΡΡΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠ΄ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ? Π£Π·Π½Π°ΠΉΡΠ΅ ΡΠ°ΠΌΠΈΠ»ΠΈΡ, ΠΊΠ°ΠΊ Π·ΠΎΠ²ΡΡ Π°Π²ΡΠΎΡΠ° ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ Π΅Π³ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠ΅ΡΠΈΡΠΌ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅ Π΅ΡΡΡ Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠ»ΠΈ ΠΠ°ΡΠ° ΠΊΠ½ΠΈΠ³Π° Π±ΡΠ»Π° ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π±Π΅Π· ΠΠ°ΡΠ΅Π³ΠΎ Π½Π° ΡΠΎ ΡΠΎΠ³Π»Π°ΡΠΈΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π°ΠΏΡΠ°Π²ΡΡΠ΅ ΠΠ°ΡΡ ΠΆΠ°Π»ΠΎΠ±Ρ Π½Π° info@libcat.ru ΠΈΠ»ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΎΡΠΌΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ.
Π ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 24 ΡΠ°ΡΠΎΠ² ΠΌΡ Π·Π°ΠΊΡΠΎΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π΅Π»Π΅Π³Π°Π»ΡΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΌΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡ.
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++. 55 Π²Π΅ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ»ΡΡΡΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠ΄ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ β ΡΠΈΡΠ°ΡΡ ΠΎΠ½Π»Π°ΠΉΠ½ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΏΠΎΠ»Π½ΡΡ ΠΊΠ½ΠΈΠ³Ρ (Π²Π΅ΡΡ ΡΠ΅ΠΊΡΡ) ΡΠ΅Π»ΠΈΠΊΠΎΠΌ
ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠ΅ΠΊΡΡ ΠΊΠ½ΠΈΠ³ΠΈ, ΡΠ°Π·Π±ΠΈΡΡΠΉ ΠΏΠΎ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΏΡΠΎΡΠΈΡΠ°Π½Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ ΡΠΈΡΠ°ΡΡ ΠΎΠ½Π»Π°ΠΉΠ½ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΊΠ½ΠΈΠ³Ρ Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++. 55 Π²Π΅ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ»ΡΡΡΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠ΄ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΒ», Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π·Π°Π½ΠΎΠ²ΠΎ ΠΈΡΠΊΠ°ΡΡ Π½Π° ΡΡΠΌ ΠΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ. ΠΠΎΡΡΠ°Π²ΡΡΠ΅ Π·Π°ΠΊΠ»Π°Π΄ΠΊΡ, ΠΈ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ ΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++. 55 Π²Π΅ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ»ΡΡΡΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠ΄ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
ΠΠ½ΠΈΠ³Π° Π‘ΠΊΠΎΡΡΠ° ΠΠ΅ΠΉΠ΅ΡΡΠ° Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++Β», ΡΡΠ΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡ β ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°ΡΠΈΡ ΠΎΠΏΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ β ΡΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±Π΅Π· Π½Π΅Π΅ Π΄ΠΎΡΡΠ°Π»ΡΡ Π±Ρ Π²Π°ΠΌ Π΄ΠΎΡΠΎΠ³ΠΎΠΉ ΡΠ΅Π½ΠΎΠΉ. ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° β Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΏΠΈΡΠ΅Ρ Π½Π° C++ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ.
ΠΠΈΡΠ΅Ρ ΠΡΠ»ΠΈΠΌΠΎΠ², ME, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ, ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ NAVSYSCOM, ΠΠ²ΡΡΡΠ°Π»ΠΈΡ
Π’ΡΠ΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡ ΠΎΡΡΠ°Π΅ΡΡΡ Π»ΡΡΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠΎΠΌΡ, ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΆΠΈΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Π²ΡΠ΅ ΡΠ°ΡΡΠΈ C++ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ ΡΠ΅Π»ΠΎΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅ΡΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ C++, ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΅Π΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ.
ΠΡΠΈΠΊ ΠΠ°Π³Π»Π΅Ρ, ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°Π½Ρ, ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ ΠΈ Π°Π²ΡΠΎΡ Β«ΠΠ·ΡΡΠ°Ρ C++Β»
ΠΠ΅ΡΠ²Π°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π±ΡΠ»Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ (Π²Π΅ΡΡΠΌΠ° Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ) ΡΠΈΡΠ»Π° ΠΊΠ½ΠΈΠ³, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΡΠΌ Ρ ΠΎΡΡΡΠΈΠΌΠΎ ΠΏΠΎΠ²ΡΡΠΈΠ» ΡΠ²ΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΡΠ΄Π°, ΠΎΠ½Π° ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎΠΉ ΠΈ Π»Π΅Π³ΠΊΠΎΠΉ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ²Π΅ΡΠΎΠ². Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++Β», ΡΡΠ΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡ, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΡΡ ΡΡΠ°Π΄ΠΈΡΠΈΡ. C++ β ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ C Π΄Π°Π΅Ρ Π²Π΅ΡΠ΅Π²ΠΊΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π±ΡΠ°ΡΡΡΡ Π½Π° Π²Π΅ΡΡΠΈΠ½Ρ Π³ΠΎΡΡ, ΡΠΎ C++ β ΡΡΠΎ ΡΠ΅Π»ΡΠΉ ΠΌΠ°Π³Π°Π·ΠΈΠ½, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΠΌΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ Π»ΡΠ΄ΠΈ Π³ΠΎΡΠΎΠ²Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π·Π°Π²ΡΠ·Π°ΡΡ Π½Π° ΡΡΠΎΠΉ Π²Π΅ΡΠ΅Π²ΠΊΠ΅ ΡΠ·Π»Ρ. ΠΠ²Π»Π°Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠΌ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΌ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΏΠΎΠ²ΡΡΠΈΡ Π²Π°ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ C++ ΠΈ Π½Π΅ ΡΠΌΠ΅ΡΠ΅ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ.
ΠΠΆΠ΅ΠΊ Π. Π ΠΈΠ²Π΅Ρ, ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡ Bleading Edge Software Technologies
ΠΠ°ΠΆΠ΄ΡΠΉ Π½ΠΎΠ²ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π² ΠΌΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠ°Π·Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ β ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ.
ΠΠ°ΠΉΠΊΠ» ΠΠ°Π½ΡΠ΅ΡΡΠ°, Π²Π΅Π΄ΡΡΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ
Π― ΠΏΡΠΎΡΠΈΡΠ°Π» ΠΏΠ΅ΡΠ²ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡ Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ C++Β» ΠΎΠΊΠΎΠ»ΠΎ 9 Π»Π΅Ρ Π½Π°Π·Π°Π΄, ΠΈ ΡΡΠ° ΠΊΠ½ΠΈΠ³Π° ΡΡΠ°Π·Ρ ΡΡΠ°Π»Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΌΠΎΠΈΡ Π»ΡΠ±ΠΈΠΌΡΡ ΠΊΠ½ΠΈΠ³ ΠΏΠΎ C++. ΠΠ° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΡΡΠ΅ΡΡΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ C++Β» ΠΎΡΡΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΊ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ , ΠΊΡΠΎ ΠΆΠ΅Π»Π°Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° C++. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΆΠΈΡΡ Π² Π»ΡΡΡΠ΅ΠΌ ΠΌΠΈΡΠ΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ C++ ΠΏΡΠΎΡΡΡΡ ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ ΠΏΡΠ΅ΠΆΠ΄Π΅, ΡΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΠ½Π½ΠΈ Π Π°Π±Π±Π°Π½ΠΈ, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ C++Β» Π‘ΠΊΠΎΡΡΠ° ΠΠ΅ΠΉΠ΅ΡΡΠ° ΠΏΠΎΠΏΠ°Π»ΠΎΡΡ ΠΌΠ½Π΅, ΠΊΠΎΠ³Π΄Π° Ρ Π±ΡΠ» ΡΡΠ΄ΠΎΠ²ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ ΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½Π½ΠΎ ΡΡΠ°ΡΠ°Π»ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»ΡΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΡΡΡΠ΅Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ. Π ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠΏΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ! Π― ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΡΠΎΠ²Π΅ΡΡ ΠΠ΅ΠΉΠ΅ΡΡΠ° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π° 100 % ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ±Π΅ΡΠ°ΡΡ. Π’ΡΠ΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π² ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ C++ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΌΡΡ Π½ΠΎΠ²ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°Ρ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠ·ΡΠΊΠ°. Π― Ρ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ΅Π±Ρ Π² ΡΡΠ΅ΡΡΠ΅ΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΊΠΎΡΠΎΡΡΡ, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΠΊΠ°Π·Π°Π»ΠΎΡΡ, Π·Π½Π°Ρ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ.
ΠΠ°ΠΉΠΊΠ» Π’ΠΎΠΏΠΈΠΊ, ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ
ΠΡΠΎ Π°Π²ΡΠΎΡΠΈΡΠ΅ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΎΡ Π‘ΠΊΠΎΡΡΠ° ΠΠ΅ΠΉΠ΅ΡΡΠ°, Π³ΡΡΡ C++, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ, ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ C++ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ C++ ΠΎΡ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² ΡΡΠ½ΠΎΠΌ, ΡΠΆΠ°ΡΠΎΠΌ, Π·Π°Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΈ ΠΏΡΠΎΠ½ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅.
Π‘ΠΈΠ΄Π΄Ρ Π°ΡΡΡ Π° ΠΠ°ΡΠ°Π½ Π‘ΠΈΠ½Π³Ρ , ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ½ΠΈΠ³Π° Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++Β» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΆΠ΅ 15 Π»Π΅Ρ, Π° ΠΈΠ·ΡΡΠ°ΡΡ C++ Ρ Π½Π°ΡΠ°Π» ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π·Π° 5 Π»Π΅Ρ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Π» Π΅Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ ΡΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Π²Π΅Π΄Π΅ΡΡΡ ΠΎΠΊΠΎΠ»ΠΎ 20 Π»Π΅Ρ. ΠΠ° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Ρ ΠΏΠΎΠ»ΡΡΠ°Π» ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΡ, Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ, ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ ΠΎΡΠ΅Π»ΠΎΠΌΠ»ΡΡΡΠΈΠ΅ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΎΡ ΡΠΎΡΠ΅Π½ (ΡΡΡΡΡ?) Π»ΡΠ΄Π΅ΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΏΠΎΠΌΠΎΠ³ ΡΠ°Π·Π²ΠΈΡΠΈΡ Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ C++Β». Π― Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ ΠΈΠΌ Π²ΡΠ΅ΠΌ.
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++. 55 Π²Π΅ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ»ΡΡΡΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠ΄ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
ΠΠ°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΡΠ½ΠΎ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ, Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π±ΡΠ²Π°Π΅Ρ Π½Π΅Π»Π΅Π³ΠΊΠΎ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ? ΠΠΎΠ³Π΄Π° Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ? ΠΠ°ΠΊ ΡΠ΅Π±Ρ Π²Π΅Π΄Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ new, Π΅ΡΠ»ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ°ΠΌΡΡΠΈ? ΠΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠ½Π°ΡΠ΅ Π²Ρ ΠΏΠΎΡΡΠΈ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ Ρ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠΌ ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ΠΎΠ±ΡΡΡΠ½ΠΈΠΌΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΠΏΠΎΠ»Π½ΡΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ ΠΏΠΎ C++. Π‘ΠΊΠΎΡΠ΅Π΅, ΡΡΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΈΡ 55 ΡΠΎΠ²Π΅ΡΠΎΠ² (ΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»), ΠΊΠ°ΠΊ ΡΠ»ΡΡΡΠΈΡΡ Π²Π°ΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΡΠ°Π³ΡΠ°Ρ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ , Π½ΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ. ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠΈΡΠ°ΡΡ ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ, Π½Π°ΡΠ°Π² Ρ ΡΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π°Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΡΠ΄Π° ΠΎΠ½ΠΈ Π²Π°Ρ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ.
ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π² C++. Π Π³Π»Π°Π²Π΅ 2, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ², Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΠΎΠ² ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π²Ρ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π΅Π»Π°ΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ. ΠΠ° ΡΡΡ ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠ½ΠΈΠ³ ΠΏΠΎ C++.
Π¦Π΅Π»Ρ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ β Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° C++, ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°ΡΡΠΎ Π½Π΅ ΡΠ΄Π΅Π»ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ. Π Π΄ΡΡΠ³ΠΈΡ ΠΊΠ½ΠΈΠ³Π°Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΡΠ·ΡΠΊΠ°. ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΠΈΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π Π΄ΡΡΠ³ΠΈΡ ΠΈΠ·Π΄Π°Π½ΠΈΡΡ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ. Π ΡΡΠ° ΠΊΠ½ΠΈΠ³Π° β ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ.
Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΡΠΎΡΡΠ°Ρ ΠΊΠ½ΠΈΠ³Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ C++. ΠΠ΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π»ΠΈΡΡ ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ·ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ΅. ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ β ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠ΅ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎ-Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΡΡΠΊΠΈ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΡΠΌ.
ΠΠ΅ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π²Ρ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΈ Β«ΠΠ²Π°Π½Π³Π΅Π»ΠΈΡ ΠΎΡ C++Β» β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎ Π²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ ΠΊ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π° C++. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ β ΡΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ ΠΏΠΎ ΡΠΎΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌΡ Π°ΡΠΏΠ΅ΠΊΡΡ: ΠΊΠ°ΠΊ ΠΎΡΡΡΠΊΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄Π°ΡΠ½ΡΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠ°ΠΊ Π΄ΠΎΡΡΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, Π½ΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠ½ΠΊΡΠΎΠ² Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡΠΌ. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ β ΡΡΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π»ΡΡΡΠ΅Π΅, ΡΡΠΎ Ρ ΠΌΠΎΠ³Ρ ΡΠ΄Π΅Π»Π°ΡΡ, β ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌ, ΡΠΎ ΠΌΠ°Π»ΠΎΠ²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΡΠΌΠΈ Π»ΠΎΠ²ΡΡΠΊΠ°ΠΌΠΈ, ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ΅Π³Π°ΡΡΠΈΠΌΠΈ Π²Π°Ρ Π² Π‘++, Π½ΠΎ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ. ΠΠ½ΠΈ-ΡΠΎ ΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΌΡΡ Π²Π°ΠΆΠ½ΡΡ ΡΠ°ΡΡΡ ΠΊΠ½ΠΈΠ³ΠΈ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ½ΡΠ², ΡΡΠΎ Π»Π΅ΠΆΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅ΡΠΈΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Ρ ΠΏΡΠΈΡΡΡΠΈΠΌΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ β ΠΏΠΎΡΡΠΈΡΡ ΡΠ°ΠΉΠ½Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ C++, ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ, Π° Π½Π΅ ΠΈΠ½Π°ΡΠ΅, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ²ΠΎΠΈΡ ΡΠ΅Π»ΡΡ .
Π’Π΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ»ΠΎΠ²Π°ΡΠΈΠΊ C++, ΠΊΠΎΡΠΎΡΡΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π»Π°Π΄Π΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π°ΠΆΠ½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ (declaration) ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈΠΌΡ ΠΈ ΡΠΈΠΏ ΡΠ΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ, ΠΎΠΏΡΡΠΊΠ°Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠ°ΠΊ:
extern int x; // ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
std::size_t numDigits(int number); // ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
class Widget; // ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°
template // ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π°
class GraphNode; // (ΡΠΌ. ΠΏΡΠ°Π²ΠΈΠ»ΠΎ 42 ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Β«typenameΒ»
ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ Ρ Π½Π°Π·ΡΠ²Π°Ρ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ x Β«ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌΒ», Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΠ΄ΠΈ ΠΏΠΎΠ΄ Β«ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈΒ» ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠΈΠΏΠΎΠ², Π½ΠΎ Ρ Π½Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΡ ΠΊ ΠΈΡ ΡΠΈΡΠ»Ρ. Π’Π°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ numDigits() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΠΏ std::size_t, ΡΠΎ Π΅ΡΡΡ ΡΠΈΠΏ size_t ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ std. ΠΡΠΎ ΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ C++. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° C (ΡΠΎΡΠ½Π΅Π΅ Π³ΠΎΠ²ΠΎΡΡ, Π‘89) ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π° C++, ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡ C (ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ size_t), ΠΌΠΎΠ³ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅, Π²Π½ΡΡΡΠΈ std, Π»ΠΈΠ±ΠΎ Π² ΠΎΠ±ΠΎΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ , Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ #include. Π ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ #include Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ C++. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Ρ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡ std::size_t, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ size_t. ΠΠΎΠ³Π΄Π° Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²Π½Π΅ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠΏΡΡΠΊΠ°Ρ ΡΡΡΠ»ΠΊΡ Π½Π° std, ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ size_t, vector ΠΈ cout, Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ std. Π ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Ρ Π²ΡΠ΅Π³Π΄Π° Π²ΠΊΠ»ΡΡΠ°Ρ std, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠ΄ Π½Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ.
ΠΡΡΠ°ΡΠΈ, size_t β ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ-Π½Π°Π²ΡΠ΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ typedef ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π² C++ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΡΡΠ΅ΡΡΠΈΠΊΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΡΡΠΎΠΊΠ°Ρ ΡΠΈΠΏΠ° char*, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ STL ΠΈ Ρ. ΠΏ.). ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΠΉ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ operator[] Π² Π²Π΅ΠΊΡΠΎΡΠ°Ρ (vector), Π΄Π΅ΠΊΠ°Ρ (deque) ΠΈ ΡΡΡΠΎΠΊΠ°Ρ (string). ΠΡΠΎΠΌΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΈ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ operator[] Π² ΠΏΡΠ°Π²ΠΈΠ»Π΅ 3.
Π Π»ΡΠ±ΠΎΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π΅Π΅ ΡΠΈΠ³Π½Π°ΡΡΡΠ°, ΡΠΎ Π΅ΡΡΡ ΡΠΈΠΏΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΠΈΠ³Π½Π°ΡΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ β ΡΡΠΎ Π΅Π΅ ΡΠΈΠΏ. Π’Π°ΠΊ, ΡΠΈΠ³Π½Π°ΡΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ numDigits ΡΠ²Π»ΡΠ΅ΡΡΡ std::size_t(int), ΠΈΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΠΎ Β«ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ°Ρ int ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ std::size_tΒ». ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Β«ΡΠΈΠ³Π½Π°ΡΡΡΡΒ» Π² C++ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½ΠΎ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Π½Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ ΠΎΠ½ Π²ΡΠ΅ ΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΡΠΈΠ³Π½Π°ΡΡΡΡ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (definition) ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π΄Π΅ΡΠ°Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΡΠ΅Π½Ρ Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ. ΠΠ»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ β ΡΡΠΎ ΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΏΠ°ΠΌΡΡΡ. ΠΠ»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΊΠ»Π°ΡΡΠ° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡΡΡ Π΅Π³ΠΎ ΡΠ»Π΅Π½Ρ:
int x; // ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
std::size_t numDigits(int number) // ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
std::size_t digitsSoFar = 1; // Π΄Π΅ΡΡΡΠΈΡΠ½ΡΡ Π·Π½Π°ΠΊΠΎΠ² Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅)
template // ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π°
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ (initialization) β ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°ΠΌΠΈ. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (default constructor) β ΡΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π»ΠΈΠ±ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²ΠΎΠ²ΡΠ΅, Π»ΠΈΠ±ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°:
A(); // ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
explicit B(int x = 0; bool b = true); // ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ,
>; // ΡΠΌ. Π΄Π°Π»Π΅Π΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅
// ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° βexplicitβ
explicit C(int x); // ΡΡΠΎ Π½Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² B ΠΈ C ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π² ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ explicit (ΡΠ²Π½ΡΠΉ). ΠΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π½Π΅ΡΠ²Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΡΠΈΠΏΠΎΠ², Ρ ΠΎΡΡ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΡΠ²Π½ΠΎ:
void doSomething(B bObject); // ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° B
B bObj1; // ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° B
doSomething(bObj1); // Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, B ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ doSomething
B bObj(28); // Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΡΠΎΠ·Π΄Π°Π΅Ρ B ΠΈΠ· ΡΠ΅Π»ΠΎΠ³ΠΎ 28
// (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ bool ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true)
doSomething(28); // ΠΎΡΠΈΠ±ΠΊΠ°! doSomething ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ B,
// Π° Π½Π΅ int, ΠΈ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠ²Π½ΠΎΠ³ΠΎ
// ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· int Π² B
doSomething(B(28)); // Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
// B Π΄Π»Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ (ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ)
// int Π² B (ΡΠΌ. Π² ΠΏΡΠ°Π²ΠΈΠ»Π΅ 27 ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
// ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΡΠΈΠΏΠΎΠ²)
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ explicit, ΠΎΠ±ΡΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ Π½Π΅ΡΠ²Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΡΠΈΠΏΠ° (ΡΠ°ΡΡΠΎ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΡ ). ΠΡΠ»ΠΈ Π½Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ² Π² Π½Π΅ΡΠ²Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡΡ ΡΠΈΠΏΠΎΠ², Ρ Π²ΡΠ΅Π³Π΄Π° ΠΎΠ±ΡΡΠ²Π»ΡΡ ΠΈΡ explicit. Π‘ΠΎΠ²Π΅ΡΡΡ ΠΈ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ. Π― ΠΈ Π΄Π°Π»ΡΡΠ΅ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ Π²Π°ΠΆΠ½ΠΎΡΡΡ ΠΈΠ·Π»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°. (Π’Π°ΠΊΠΆΠ΅ Ρ Π²ΡΠ΄Π΅Π»ΡΡ Π½ΠΎΠΌΠ΅ΡΠ° Π³Π»Π°Π², Π½ΠΎ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠΈΠΌΠΏΠ°ΡΠΈΡΠ½ΠΎ.)
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ (copy constructor) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π° ΠΊΠΎΠΏΠΈΡΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ (copy assignment operator) ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² Π΄ΡΡΠ³ΠΎΠΉ β ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ°:
Widget(); // ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
Widget(const Widget& rhs); // ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Widget& operator=(const Widget& rhs); // ΠΊΠΎΠΏΠΈΡΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ
Widget w1; // Π²ΡΠ·ΠΎΠ² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
Widget w2(w1); // Π²ΡΠ·ΠΎΠ² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ
w1 = w2; // Π²ΡΠ·ΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ
ΠΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ, ΠΊΠΎΠ³Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΏΠΎΡ ΠΎΠΆΡΡ Π½Π° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Β«=Β» ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
Widget w3 = w2; // Π²ΡΠ·ΠΎΠ² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ!
Π ΡΡΠ°ΡΡΡΡ, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ»ΠΈΡΠΈΡΡ ΠΎΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ (ΠΊΠ°ΠΊ w3 Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ), ΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΆΠ΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ (ΠΊΠ°ΠΊ Π² Β«w1=w2Β»), ΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΈ ΡΡΠΎ β ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ β ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ:
bool hasAcceptableQuality(Widget w);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ w ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ hasAcceptableQuality ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΠ·ΠΎΠ²Π° aWidget ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π² w. ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· ΠΊΠ»Π°ΡΡΠ° Widget. ΠΠΎΠΎΠ±ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π²ΡΠ·ΠΎΠ² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ. (ΠΠΎ, ΡΡΡΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΈΠΏΡ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ β ΠΏΠ»ΠΎΡ Π°Ρ ΠΈΠ΄Π΅Ρ. ΠΠ±ΡΡΠ½ΠΎ Π»ΡΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌ. Π² ΠΏΡΠ°Π²ΠΈΠ»Π΅ 20.)
STL β ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² (Standard Template Library) β ΡΡΠΎ ΡΠ°ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠ°ΡΠ°ΡΡΠ°ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² (ΡΠΎ Π΅ΡΡΡ vector, list, set, map ΠΈ Ρ. Π΄.), ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² (ΡΠΎ Π΅ΡΡΡ vector ::iterator, set ::iterator ΠΈ Ρ. Π΄.), Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² (ΡΠΎ Π΅ΡΡΡ for_each, find, sort ΠΈ Ρ. Π΄.) ΠΈ Π²ΡΠ΅ΠΉ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ. Π Π½Π΅ΠΉ ΠΎΡΠ΅Π½Ρ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ-ΡΡΠ½ΠΊΡΠΈΠΈ (function objects), ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π²Π΅Π΄ΡΡΠΈΠ΅ ΡΠ΅Π±Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΡΠΌ. Π’Π°ΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ·ΠΎΠ²Π° operator(). ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ STL, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ, ΠΏΠΎΠΌΠΈΠΌΠΎ Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΠΎΡΡΠΎΠΉΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠ΅ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅, Π²Π΅Π΄Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° STL Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄ΠΎΠ±Π½Π°, ΡΡΠΎ Π½Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΅Π΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅ΠΏΡΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ. Π‘ΡΠΎΠΈΡ Π»ΠΈΡΡ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π΅ΠΉ, ΠΈ Π²Ρ ΡΠ°ΠΌΠΈ ΡΡΠΎ ΠΏΠΎΡΡΠ²ΡΡΠ²ΡΠ΅ΡΠ΅.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ, ΠΏΡΠΈΡΠ΅Π΄ΡΠΈΠΌ ΠΊ C++ ΠΎΡ ΡΠ·ΡΠΊΠΎΠ² Π²ΡΠΎΠ΄Π΅ Java ΠΈΠ»ΠΈ C#, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ°Π½Π½ΡΠΌ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ. ΠΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π² C++ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ: Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠΎΡ Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π°:
int *p = 0; // p β Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
char name[] = βDariaβ // name β ΠΌΠ°ΡΡΠΈΠ² Π΄Π»ΠΈΠ½Ρ 6 (Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΏΡΠΎ
char c = name[10]; // ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°
// ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ°Π±Ρ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ, ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ ΠΈ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π΅ΡΡΠΌΠ° Π½Π΅ΠΏΡΠΈΡΡΠ½Ρ, ΠΎΠΏΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π° C++ ΡΠ°ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ³ΡΡ ΡΡΠ΅ΡΠ΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΆΠ΅ΡΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ°. ΠΡΠΎ ΠΏΡΠ°Π²Π΄Π°: ΡΠ°ΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ΅ΡΠ΅ΡΡ Π²Π°Ρ ΠΆΠ΅ΡΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΠ³ΠΎ ΠΈ Π½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΠΎΠ»Π΅Π΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ: ΠΈΠ½ΠΎΠ³Π΄Π° Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΠΈΠ½ΠΎΠ³Π΄Π° Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ, Π° ΠΈΠ½ΠΎΠ³Π΄Π° β ΠΏΡΠΎΡΡΠΎ Π²ΡΠ΄Π°Π²Π°ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. ΠΡΠ΄ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π° C++ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° β ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ. Π ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ Ρ ΡΠΊΠ°Π·ΡΠ²Π°Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΠ½ΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΌΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΠΏΡΠΈΡΠ΅Π΄ΡΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ², β ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. Π Java ΠΈ. NET-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΡΠ·ΡΠΊΠ°, Π½ΠΎ Π² C++ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π½Π΅Ρ, Ρ ΠΎΡΡ Π² ΠΏΡΠ°Π²ΠΈΠ»Π΅ 31 ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠ³Π΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅ΡΠΌΠΈΠ½ Β«ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΒ», ΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Ρ ΡΠΈΠ³Π½Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° (Β«ΠΎΡΠΊΡΡΡΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΒ», Β«Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΒ», Β«Π·Π°ΠΊΡΡΡΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΒ») ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΈΠΏΠ° Π΄Π»Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² (ΡΠΌ. ΠΏΡΠ°Π²ΠΈΠ»ΠΎ 41). Π’ΠΎ Π΅ΡΡΡ ΠΏΠΎΠ΄ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΠΎΠ±ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ½ΡΡΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ β ΡΡΠΎ Π½Π΅ΡΡΠΎ ΠΈΠ»ΠΈ Π½Π΅ΠΊΡΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ ΠΊΠΎΠ΄ (ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ). Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ Π΅Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ: ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ (ΠΈΠ»ΠΈ Π±Π΅ΡΡΡ Π΅Π΅ Π°Π΄ΡΠ΅Ρ), Π° ΡΠ°ΠΊΠΆΠ΅ Π»ΡΠ΄ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΈΡΡΡ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄. ΠΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½, Π° ΡΠ°Π²Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΈΡΡΡ ΠΈΠ»ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡ ΡΡΠΈ ΡΠ°ΡΡΠΈ. ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΡ Π·Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ , Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π²Π΅Π΄Π΅Π½Ρ Π² Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΎ ΠΏΠ»ΠΎΡ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ. ΠΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ΠΈ ΠΏΠΈΡΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΡΠΌΠΎΡΠΈΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π½Π΅ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ Π΄ΡΠΌΠ°ΡΡ ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ , Π½ΠΎ Ρ ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ ΡΠ±Π΅Π΄ΠΈΡΡ Π²Π°Ρ Π² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΠΈΠΌ ΠΆΠΈΠ·Π½Ρ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², Π²Ρ ΡΠ°ΠΌΠΈ β ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π» ΠΊΡΠΎ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ. ΠΠ΅Π΄Ρ Π²Ρ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ, ΡΡΠΎΠ± Π΅Π³ΠΎ Π°Π²ΡΠΎΡΡ ΠΎΠ±Π»Π΅Π³ΡΠΈΠ»ΠΈ Π²Π°ΠΌ ΡΠ°Π±ΠΎΡΡ? ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΎΠ³ΠΎ, ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π²Ρ ΠΎΠΊΠ°ΠΆΠ΅ΡΠ΅ΡΡ Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΌΠΈ ΡΡΠ°Π½Π΅ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (ΡΠΎ Π΅ΡΡΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ), ΠΈ ΡΠΎΠ³Π΄Π° ΠΎΡΠ΅Π½ΠΈΡΠ΅, ΡΡΠΎ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎΠ± ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ°Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
Π ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Ρ ΡΠ°ΡΡΠΎ ΠΎΠ±ΡΠ°ΡΠ°Ρ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΡΠΎ Π½Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ, Π²Π΅Π΄Ρ ΡΠΎ, ΡΡΠΎ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, ΡΠ°ΡΡΠΎ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. Π ΡΠΈΡΡΠ°ΡΠΈΡΡ , ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ, Ρ Π΄Π΅Π»Π°Ρ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΊΠ»Π°ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ
Π― ΠΏΡΡΠ°Π»ΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠ»Π°ΡΡΠΎΠ², ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΈ Ρ. ΠΏ., Π½ΠΎ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π½Π½ΡΡ ΠΌΠ½ΠΎΠΉ ΠΈΠΌΠ΅Π½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π»Ρ Π²Π°Ρ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠΌΠ΅Π½Π° lhs ΠΈ rhs. ΠΠΌΠ΅Π΅ΡΡΡ Π² Π²ΠΈΠ΄Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Β«Π»Π΅Π²Π°Ρ ΡΠ°ΡΡΡΒ» (left-hand side) ΠΈ Β«ΠΏΡΠ°Π²Π°Ρ ΡΠ°ΡΡΡΒ» (right-hand side). ΠΡΠΈ ΠΈΠΌΠ΅Π½Π° ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡΡ , ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΡΠΎ Π΅ΡΡΡ operator== ΠΈ operator*. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ a ΠΈ b β ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°, ΠΈ Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ° Rational ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ½ΠΎΠΆΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ-Π½Π΅ΡΠ»Π΅Π½Π° operator*() (ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ ΠΎΠΏΠΈΡΠ°Π½ Π² ΠΏΡΠ°Π²ΠΈΠ»Π΅ 24), ΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ:
Π ΠΏΡΠ°Π²ΠΈΠ»Π΅ 24 Ρ ΠΎΠ±ΡΡΠ²Π»ΡΡ operator* ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
const Rational operator*(const Rational& lhs, const Rational& rhs);
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π»Π΅Π²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ β a β Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ lhs, Π° ΠΏΡΠ°Π²ΡΠΉ β b β rhs.
ΠΠ»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ-ΡΠ»Π΅Π½ΠΎΠ² Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ this, Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΡΡΠ°Π²ΡΠΈΠΉΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Ρ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·ΡΠ²Π°Ρ rhs. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ ΡΡΠΎ Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ-ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° Widget Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π²ΡΡΠ΅. Β«WidgetΒ» Π½Π΅ Π·Π½Π°ΡΠΈΡ Π½ΠΈΡΠ΅Π³ΠΎ. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΊ-ΡΠΎ Π½Π°Π·Π²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ»Π°ΡΡΠ°. ΠΠ½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌ), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ (GUI).
Π§Π°ΡΡΠΎ Ρ ΠΈΠΌΠ΅Π½ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΠ»Π΅Π΄ΡΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ, Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° T Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ pt (Β«pointer to TΒ»). ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ:
Widget *pw; // pw = ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Widget
Airplane *pa; // pa = ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Airplane
GameCharacter *pgc; // pgc = ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° GameCharacter
ΠΠΎΡ ΠΎΠΆΠ΅Π΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΈ Π΄Π»Ρ ΡΡΡΠ»ΠΎΠΊ: rw ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° Widget, Π° ra β ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° Airplane.
ΠΠ½ΠΎΠ³Π΄Π° Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠΌΡ mf.
ΠΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ
Π ΡΠ°ΠΌΠΎΠΌ ΡΠ·ΡΠΊΠ΅ C++ Π½Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎ ΠΏΠΎΡΠΎΠΊΠ°Ρ (threads), Π΄Π° ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π’ΠΎ ΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΈ ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ C++. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ C++ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ Π΅ΡΡΡ. Π₯ΠΎΡΡ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Ρ Π±ΡΠ΄Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΠΌ C++, Π½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² β ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ. ΠΡΠΈΠ·Π½Π°Π²Π°Ρ ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ C++ ΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡΡ, Ρ Π±ΡΠ΄Ρ ΠΎΡΠΌΠ΅ΡΠ°ΡΡ ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅. ΠΠ΅ Π½Π°Π΄ΠΎ Π΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ ΡΡΠ° ΠΊΠ½ΠΈΠ³Π° Π½Π°ΡΡΠΈΡ Π²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° C++. ΠΠΎΠ²ΡΠ΅ Π½Π΅Ρ. Π― ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π» Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ Π½Π΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π» ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠ°ΡΠ°Π»ΡΡ ΠΎΡΠΌΠ΅ΡΠ°ΡΡ ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΏΠΈΡΡΡΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΌΠΎΠΈΠΌ ΡΠΎΠ²Π΅ΡΠ°ΠΌ Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠ΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΈ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΠ΅ΡΡ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ Π½Π΅ΠΉ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΌΠΎΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ β Π½Π΅ Π±ΠΎΠ»Π΅Π΅, ΡΠ΅ΠΌ ΡΠΊΡΠΎΠΌΠ½ΡΠΉ Π½Π°ΠΌΠ΅ΠΊ Π½Π° ΡΠΎ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ C++ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ TR1 ΠΈ Boost
Π‘ΡΡΠ»ΠΊΠΈ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ TR1 ΠΈ Boost Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π²ΡΡΡΠ΅ΡΠ°ΡΡ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΉ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ ΠΏΠΎΡΠ²ΡΡΠ΅Π½ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ (54 β TR1 ΠΈ 55 β Boost), Π½ΠΎ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΡΠΈΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ, Π° Π½Π΅ Ρ ΠΊΠΎΠ½ΡΠ°, ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ½ΡΡΡ, ΠΎ ΡΠ΅ΠΌ ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΡ:
β’ TR1 («Technical Report 1») β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ C++. ΠΠ½Π° ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π° Π² Π²ΠΈΠ΄Π΅ Π½ΠΎΠ²ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Ρ ΡΡ-ΡΠ°Π±Π»ΠΈΡ, Β«ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Β» ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠΎΠΌ ΡΡΡΠ»ΠΎΠΊ, ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ TR1 Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ tr1, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π»ΠΎΠΆΠ΅Π½ΠΎ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ std.
β’ Boost β ΡΡΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΈ Web-ΡΠ°ΠΉΡ (http://boost.org), Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΠ΅, ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ C++ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ TR1 Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ΅, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Boost, ΠΈ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Ρ TR1 Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ C++, Web-ΡΠ°ΠΉΡ Boost Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π³Π»Π°Π²Π½ΡΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ TR1. Boost ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² TR1, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎ Π½Π΅ΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°ΡΡ.
ΠΠ»Π°Π²Π° 1
ΠΡΠΈΡΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ C++
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΠΏΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΡΠ²ΠΎΠΈΡΡΡΡ Ρ C++, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΡΠ·ΡΠΊ Ρ ΠΎΡΠ΅Π½Ρ ΡΠΈΡΠΎΠΊΠΈΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, Π½ΠΎ ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, Π½ΡΠΆΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΌΡΡΠ»Π΅Π½ΠΈΡ. ΠΠ½ΠΈΠ³Π° ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΠΏΡΠΈΠ·Π²Π°Π½Π° ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π² ΡΡΠΎΠΌ, Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π²ΠΎΠΏΡΠΎΡΡ ΡΠ²Π»ΡΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΌΠΈ, ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ β ΠΌΠ΅Π½Π΅Π΅, Π° ΡΡΠ° Π³Π»Π°Π²Π° ΠΏΠΎΡΠ²ΡΡΠ½Π° ΡΠ°ΠΌΡΠΌ Π²Π°ΠΆΠ½ΡΠΌ Π²Π΅ΡΠ°ΠΌ.
ΠΡΠ°Π²ΠΈΠ»ΠΎ 1: ΠΡΠ½ΠΎΡΠΈΡΠ΅ΡΡ ΠΊ C++ ΠΊΠ°ΠΊ ΠΊ ΠΊΠΎΠ½Π³Π»ΠΎΠΌΠ΅ΡΠ°ΡΡ ΡΠ·ΡΠΊΠΎΠ²
ΠΠΎΠ½Π°ΡΠ°Π»Ρ C++ Π±ΡΠ» ΠΏΡΠΎΡΡΠΎ ΡΠ·ΡΠΊΠΎΠΌ C Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄ΡΡΠ². ΠΠ°ΠΆΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ C++ (Β«C Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈΒ») ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΡΡΡ ΡΠ²ΡΠ·Ρ.
ΠΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ Π·ΡΠ΅Π»ΡΠΌ, ΠΎΠ½ ΡΠΎΡ ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°Π»ΡΡ, Π² Π½Π΅Π³ΠΎ Π²ΠΊΠ»ΡΡΠ°Π»ΠΈΡΡ ΠΈΠ΄Π΅ΠΈ ΠΈ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²ΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π·Π° ΡΠ°ΠΌΠΊΠΈ C Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ (ΡΠΌ. ΠΏΡΠ°Π²ΠΈΠ»ΠΎ 29). Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π½Π°ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ (ΡΠΌ. ΠΏΡΠ°Π²ΠΈΠ»ΠΎ 41), Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° STL ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΠΈΠΊΡΠΎ ΡΠ°Π½Π΅Π΅ Π½Π΅ ΠΌΠΎΠ³ ΡΠ΅Π±Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ C++ β ΡΡΠΎ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°ΠΌΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠ΅, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅, ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠ΅ ΠΈ ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠΈ ΠΌΠΎΡΡ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΡ Π΄Π΅Π»Π°ΡΡ C++ Π½Π΅ΡΡΠ°Π²Π½Π΅Π½Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π² Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²ΠΎ. Π£ Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ Β«ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡΒ» Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΡΠΌΡΡΠ» Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅?
ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ C++ Π½Π΅ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΡΠ·ΡΠΊ, Π° ΠΊΠ°ΠΊ ΠΊΠΎΠ½Π³Π»ΠΎΠΌΠ΅ΡΠ°Ρ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ². Π ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΡΠ·ΡΠΊΠ° ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΡ, ΠΏΠΎΠ½ΡΡΠ½Ρ ΠΈ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΡΠ·ΡΠΊΠ° ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ, ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ. Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΌΡΡΠ» Π² C++, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΡ Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ·ΡΠΊΠΈ. Π ΡΡΠ°ΡΡΡΡ, ΠΈΡ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΡΡΡΠ΅:
β’ C. Π Π³Π»ΡΠ±ΠΈΠ½Π΅ ΡΠ²ΠΎΠ΅ΠΉ C++ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° C. ΠΠ»ΠΎΠΊΠΈ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΌΠ°ΡΡΠΈΠ²Ρ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΈ Ρ. ΠΏ. β Π²ΡΠ΅ ΡΡΠΎ ΠΏΡΠΈΡΠ»ΠΎ ΠΈΠ· C. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ C++ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ Π·Π°Π΄Π°Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·Π²ΠΈΡΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ, ΡΠ΅ΠΌ C (ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΌ. Π² ΠΏΡΠ°Π²ΠΈΠ»Π΅ 2 β Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΠΈ 13 β ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ), Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΡΠ½Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΎΠΉ ΡΠ°ΡΡΡΡ C++, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈ Π² C, ΡΠΎ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΡΠ°ΠΆΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ ΡΠ·ΡΠΊΠ° C: Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ ΠΈ Ρ. Π΄.