Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«C++Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 3

Автор ΠœΡŽΡ€Ρ€Π΅ΠΉ Π₯ΠΈΠ»Π»

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡƒΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π‘++ структурС, ΠΎΡ‚Ρ€Π°Π·ΠΈΠ»ΠΎΡΡŒ Π½Π° возрастании ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных со Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ C. ΠœΠ°Π»Π΅Π½ΡŒΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (мСньшС 1000 строк) Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π³Ρ€ΡƒΠ±ΠΎΠΉ силы, Π΄Π°ΠΆΠ΅ Π½Π°Ρ€ΡƒΡˆΠ°Ρ всС ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ стиля. Для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² это Π½Π΅ совсСм Ρ‚Π°ΠΊ. Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² 10 000 строк ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ»ΠΎΡ…ΡƒΡŽ структуру, Ρ‚ΠΎ Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Π΅ ошибки ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅ быстро, ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ старыС. Π‘++ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ большиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π½Π΅ Π±Ρ‹Π»ΠΎ Π½Π΅ΠΏΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π² 25 000 строк. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, Π² Ρ†Π΅Π»ΠΎΠΌ, ΠΊΠ°ΠΊ оказываСтся, состоят ΠΈΠ· большого числа ΠΏΠΎΡ‡Ρ‚ΠΈ нСзависимых частСй, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π΅Π»ΠΎΠ². ЕстСствСнно, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ написания ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ зависит ΠΎΡ‚ слоТности Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Π½Π΅ просто ΠΎΡ‚ числа строк тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Ρ‹ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ сообраТСния, Π½Π΅ слСдуСт Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ слишком ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ.

НС каТдая Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ структурирована, нСзависима ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния, Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠ° ΠΈ Ρ‚.ΠΏ. Π‘++ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ возмоТностями, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ нСпосрСдствСнно ΠΈ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ срСдствами, Π½Π΅ Π·Π°Π±ΠΎΡ‚ΡΡΡŒ ΠΎ бСзопасности ΠΈΠ»ΠΈ простотС понимания. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ возмоТности, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π° элСгантными ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ интСрфСйсами.

Π’ этой ΠΊΠ½ΠΈΠ³Π΅ особый Π°ΠΊΡ†Π΅Π½Ρ‚ дСлаСтся Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… создания ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… срСдств, ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ‚.Π΄. Π­Ρ‚ΠΈ срСдства пригодятся ΠΊΠ°ΠΊ Ρ‚Π΅ΠΌ программистам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ нСбольшиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊ ΠΈ Ρ‚Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ большиС. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ состоят ΠΈΠ· большого числа полунСзависимых частСй, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ написания Ρ‚Π°ΠΊΠΈΡ… частСй пригодятся ΠΈ систСмным, ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ программистам.

Π£ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ спСцификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ систСмы Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ исходных тСкстов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ Π‘++ это Π½Π΅ Ρ‚Π°ΠΊ. Π‘++ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ классы ΠΈ Ρ‚.Π΄., ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡ€ΠΎΡ‡Π΅ эквивалСнтной C ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ эти срСдства Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ.

ЀилософскиС ЗамСчания

Π―Π·Ρ‹ΠΊ программирования слуТит Π΄Π²ΡƒΠΌ связанным ΠΌΠ΅ΠΆΠ΄Ρƒ собой цСлям: ΠΎΠ½ Π΄Π°Π΅Ρ‚ программисту Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ для задания дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹, ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ программист, Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»ΡΡ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. ΠŸΠ΅Ρ€Π²ΠΎΠΉ Ρ†Π΅Π»ΠΈ идСально ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Β«Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ машинС», Ρ‡Ρ‚ΠΎ всСми основными ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌΠΈ аспСктами ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ просто ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ достаточно ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ для программиста ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π‘ Ρ‚Π°ΠΊΠΈΠΌ умыслом ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ задумывался C. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ†Π΅Π»ΠΈ идСально ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Β«Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ Ρ€Π΅ΡˆΠ°Π΅ΠΌΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅Β», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ°Ρ‚ΡŒ прямо ΠΈ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ. Π‘ Ρ‚Π°ΠΊΠΈΠΌ умыслом ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈΡΡŒ срСдства, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ ΠΊ C для создания Π‘++.

Бвязь ΠΌΠ΅ΠΆΠ΄Ρƒ языком, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π΄ΡƒΠΌΠ°Π΅ΠΌ/ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ, ΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² своСм Π²ΠΎΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, ΠΎΡ‡Π΅Π½ΡŒ Π±Π»ΠΈΠ·ΠΊΠ°. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ свойства языка Ρ‚ΠΎΠ»ΡŒΠΊΠΎ цСлями ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ошибок программиста Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС опасно. Как ΠΈ Π² случаС с СстСствСнными языками, Π΅ΡΡ‚ΡŒ огромная польза Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ двуязычным. Π―Π·Ρ‹ΠΊ прСдоставляСт программисту Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… инструмСнтов, Ссли ΠΎΠ½ΠΈ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π·Π°Π΄Π°Ρ‡Π΅, Ρ‚ΠΎ ΠΈΡ… просто ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚. НапримСр, ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ ограничСния ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ указатСля Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ программиста ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΈ Ρ†Π΅Π»ΡƒΡŽ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ структуры, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ Ρ‚.ΠΏ. Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ отсутствиС ошибок Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ чисто Π·Π° счСт языковых срСдств.

БистСма Ρ‚ΠΈΠΏΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ особСнно ΠΏΠΎΠ»Π΅Π·Π½Π° Π² Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ…. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, концСпция классов Π² Π‘++ ΠΏΠΎΠΊΠ°Π·Π°Π»Π° сСбя ΠΌΠΎΡ‰Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ срСдством.

Π Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ ΠΎ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Π‘++

Π’ идСальном случаС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ дСлится Π½Π° Ρ‚Ρ€ΠΈ части: Π²Π½Π°Ρ‡Π°Π»Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ясноС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΏΠΎΡ‚ΠΎΠΌ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ, входящиС Π² Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ† Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Однако подробности Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΈΠ΄Π΅ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ часто становятся ясны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΈΡ… Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ – ΠΈΠΌΠ΅Π½Π½ΠΎ Π² этом случаС ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π±ΠΎΡ€ языка программирования.

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ понятия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· основных Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π±Π΅Π· ассоциированных с Π½Π΅ΠΉ статичСских Π΄Π°Π½Π½Ρ‹Ρ…. Если имССтся ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ понятиС, ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ класс, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Класс – это Ρ‚ΠΈΠΏ, это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΅Π³ΠΎ класса: ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‚Π° с Π½ΠΈΠΌΠΈ, ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°ΡŽΡ‚ΡΡ. Класс Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π΄Π°Π΅Ρ‚ способ прСдставлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Но Π½Π° Ρ€Π°Π½Π½ΠΈΡ… стадиях Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ это Π½Π΅ являСтся (Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ являСтся) Π³Π»Π°Π²Π½ΠΎΠΉ Π·Π°Π±ΠΎΡ‚ΠΎΠΉ. ΠšΠ»ΡŽΡ‡ΠΎΠΌ ΠΊ написанию Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π°ΠΊΠΈΡ… классов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… прСдставлял ΠΎΠ΄Π½ΠΎ основноС понятиС. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ программист Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° вопросах: Как ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ этого класса? ΠœΠΎΠ³ΡƒΡ‚ Π»ΠΈ эти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ/ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Ρ‚ΡŒΡΡ? КакиС дСйствия ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π°Π΄ этими ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ? Если Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ вопросы Π½Π΅Ρ‚ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ², Ρ‚ΠΎ Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, скорСС всСго, понятиС Π½Π΅ Π±Ρ‹Π»ΠΎ «ясно», ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Π΅Ρ‰Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π½Π°Π΄ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сразу Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ Β«ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» слоТности.

ΠŸΡ€ΠΎΡ‰Π΅ всСго ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с Ρ‚Π°ΠΊΠΈΠΌΠΈ понятиями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ: числа всСх Π²ΠΈΠ΄ΠΎΠ², мноТСства, гСомСтричСскиС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΈ Ρ‚.ΠΏ. На самом Π΄Π΅Π»Π΅, слСдовало Π±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Ρ‚Π°ΠΊΠΈΠ΅ понятия, Π½ΠΎ ΠΊ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ написания это Π½Π΅ ΠΈΠΌΠ΅Π»ΠΎ мСста. Π‘++ Π΅Ρ‰Π΅ ΠΌΠΎΠ»ΠΎΠ΄, ΠΈ Π΅Π³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π΅ Ρ€Π°Π·Π²ΠΈΠ»ΠΈΡΡŒ Π΅Ρ‰Π΅ Π΄ΠΎ Ρ‚ΠΎΠΉ ΠΆΠ΅ стСпСни, Ρ‡Ρ‚ΠΎ ΠΈ сам язык.

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Π½Π΅ сущСствуСт Π² пустотС, всСгда Π΅ΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ связанных ΠΌΠ΅ΠΆΠ΄Ρƒ собой понятий. ΠžΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ классами, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΡƒΡŽ взаимосвязь ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ понятиями, часто Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅, Ρ‡Π΅ΠΌ сначала ΡΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ классы. Π›ΡƒΡ‡ΡˆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π½Π΅Ρ€Π°Π·Π±Π΅Ρ€ΠΈΡ…ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ класс (понятиС) зависит ΠΎΡ‚ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…. Рассмотрим Π΄Π²Π° класса, A ΠΈ B. Взаимосвязи Π²Ρ€ΠΎΠ΄Π΅ Β«A Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· BΒ», Β«A создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ BΒ» ΠΈ Β«A ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‡Π»Π΅Π½Ρ‹ BΒ» Ρ€Π΅Π΄ΠΊΠΎ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ большиС слоТности, Π° взаимосвязь Π²Ρ€ΠΎΠ΄Π΅ Β«A ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· BΒ» ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ (просто Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅-Ρ‡Π»Π΅Π½Ρ‹). НСприятными, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ взаимосвязи, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ своСй ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΈΠ΄ Β«A Π΅ΡΡ‚ΡŒ B ΠΈ ...Β».

Одним ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… срСдств, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π²Π°Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, являСтся иСрархичСскоС упорядочСниС, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ организация связанных ΠΌΠ΅ΠΆΠ΄Ρƒ собой понятий Π² Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡƒΡŽ структуру с самым ΠΎΠ±Ρ‰ΠΈΠΌ понятиСм Π² ΠΊΠΎΡ€Π½Π΅. Π’ Π‘++ Ρ‚Π°ΠΊΠΈΠ΅ структуры ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌΠΈ классами. Часто ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΊΠ°ΠΊ мноТСство Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² (лСс?). Π’ΠΎ Π΅ΡΡ‚ΡŒ, программист Π·Π°Π΄Π°Π΅Ρ‚ мноТСство Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ своС собствСнноС мноТСство ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… классов. Для опрСдСлСния Π½Π°Π±ΠΎΡ€Π° дСйствий для самой ΠΎΠ±Ρ‰Π΅ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ понятия (Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса) часто ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (#7.2.8). Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ этих дСйствий ΠΌΠΎΠΆΠ½ΠΎ, Π² случаС нСобходимости, ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… классов (ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… классов).


ЕстСствСнно, такая организация ΠΈΠΌΠ΅Π΅Ρ‚ свои ограничСния. Π’ частности, мноТСство понятий ΠΈΠ½ΠΎΠ³Π΄Π° Π»ΡƒΡ‡ΡˆΠ΅ организуСтся Π² Π²ΠΈΠ΄Π΅ ацикличСского Π³Ρ€Π°Ρ„Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ понятиС ΠΌΠΎΠΆΠ΅Ρ‚ нСпосрСдствСнно Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ понятия, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«A Π΅ΡΡ‚ΡŒ B ΠΈ C ΠΈ ...Β». Π’ Π‘++ Π½Π΅Ρ‚ нСпосрСдствСнной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ этого, Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ связи ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ потСряв Π² элСгантности ΠΈ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π² ΠΌΠ°Π»ΠΎΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ (#7.2.5).

Иногда для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ понятий Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ оказываСтся Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π΅Π½ Π΄Π°ΠΆΠ΅ ацикличСский Π³Ρ€Π°Ρ„, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ понятия ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ взаимозависимыми ΠΏΠΎ своСй ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅. Если мноТСство взаимозависимых классов Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ°Π»ΠΎ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ сСбС ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Ρ‚ΠΎ цикличСскиС зависимости Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ слоТностСй. Для прСдставлСния мноТСств взаимозависимых классов с Π‘++ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ идСю friend классов (#5.4.1).

Если Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ понятия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π³Ρ€Π°Ρ„Π° (Π½Π΅ Π΄Π΅Ρ€Π΅Π²Π° ΠΈΠ»ΠΈ ацикличСского Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„Π°), ΠΈ Ссли Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π·Π°ΠΈΠΌΠ½Ρ‹Π΅ зависимости, Ρ‚ΠΎ Π²Ρ‹, ΠΏΠΎ всСй видимости, ΠΏΠΎΠΏΠ°Π»ΠΈ Π² Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ вас Π½Π΅ Π²Ρ‹Ρ€ΡƒΡ‡ΠΈΡ‚ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ язык программирования. Если Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ просто Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ основными понятиями, Ρ‚ΠΎ скорСС всСго ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π½Π΅ удастся.

Напомню, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ программирования ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ простыС Ρ‚ΠΈΠΏΡ‹, структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ нСбольшоС число классов ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π’Π΅ΡΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚, входящий Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π½Π΅ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅Ρ… случаСв, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ΅Π½.