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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ программирования Π½Π° Π‘++. 101 ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΈ рСкомСндация». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 58

Автор Π“Π΅Ρ€Π± Π‘Π°Ρ‚Ρ‚Π΅Ρ€

14. ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ошибки компиляции ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ошибкам Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния

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

15. ΠΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ const

const β€” ваш Π΄Ρ€ΡƒΠ³: нСизмСняСмыС значСния ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΌΠΎΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‚.Π΅. Ρ‚Π°ΠΌ, Π³Π΄Π΅ это цСлСсообразно, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ константы вмСсто ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ const описаниСм ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ значСния β€” это бСзопасно, провСряСмо Π²ΠΎ врСмя компиляции (см. Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ 14) ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎ с систСмой Ρ‚ΠΈΠΏΠΎΠ² Π‘++. НС выполняйтС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠΎΠ² с отбрасываниСм const ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния употрСблСния const Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (см. Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ 94).

16. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ макросов

ΠœΠ°ΠΊΡ€ΠΎΡ β€” самый нСприятный инструмСнт Π‘ ΠΈ Π‘++, ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π΅Π½ΡŒ, ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚, Π³ΡƒΠ»ΡΡŽΡ‰ΠΈΠΉ сам ΠΏΠΎ сСбС ΠΈ Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ внимания Π½Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π²Π°ΡˆΠΈΡ… областСй видимости. Π‘Π΅Ρ€Π΅Π³ΠΈΡ‚Π΅ΡΡŒ Π΅Π³ΠΎ!

17. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ магичСских чисСл

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ использования Π² ΠΊΠΎΠ΄Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… констант Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ 42 ΠΈΠ»ΠΈ 3.1415926. Π’Π°ΠΊΠΈΠ΅ константы Π½Π΅ самоочСвидны ΠΈ ΡƒΡΠ»ΠΎΠΆΠ½ΡΡŽΡ‚ сопровоТдСниС ΠΊΠΎΠ΄Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ вносят Π² Π½Π΅Π³ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌΡ‹ΠΉ Π²ΠΈΠ΄ дублирования. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ вмСсто Π½ΠΈΡ… ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΈ выраТСния Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ width*aspectRatio.

18. ΠžΠ±ΡŠΡΠ²Π»ΡΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ локальнСС

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ "раздувания" областСй видимости. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ мСньшС, Π° врСмя ΠΈΡ… ΠΆΠΈΠ·Π½ΠΈ β€” ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΡ€ΠΎΡ‡Π΅. Π­Ρ‚Π° рСкомСндация ΠΏΠΎ сути являСтся частным случаСм Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ 10.

19. Π’сСгда ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

НСинициализированныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ β€” распространСнный источник ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° Π‘ ΠΈ Π‘++. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΈΡ…, Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΡƒ ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π΅ использованиСм; ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ.

20. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ влоТСнности

ΠšΡ€Π°Ρ‚ΠΊΠΎΡΡ‚ΡŒ β€” сСстра Ρ‚Π°Π»Π°Π½Ρ‚Π°. ЧСрСсчур Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΏΡ€Π΅ΠΏΡΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° "ΠΎΠ΄Π½Π° функция β€” ΠΎΠ΄Π½Π° Π·Π°Π΄Π°Ρ‡Π°" (см. Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ 5), ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π»ΡƒΡ‡ΡˆΠΈΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ части.

21. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ зависимостСй ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ компиляции

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

22. ΠœΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ зависимости ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΈ ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ цикличСских зависимостСй

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΈΠ·Π»ΠΈΡˆΠ½ΠΈΡ… зависимостСй. НС Π²ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ #include опрСдСлСния Ρ‚Π°ΠΌ, Π³Π΄Π΅ достаточно ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ объявлСния.

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

23. Π”Π΅Π»Π°ΠΉΡ‚Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ самодостаточными

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ написанный Π²Π°ΠΌΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚.Π΅. Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависит Π΅Π³ΠΎ содСрТимоС.

24. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ, Π½ΠΎ Π½Π΅ внСшнюю Π·Π°Ρ‰ΠΈΡ‚Ρƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ #include

ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Π½Π΅ΠΏΡ€Π΅Π΄Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ΅ мноТСствСнноС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Π°ΡˆΠΈΡ… Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ #include, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π² Π½ΠΈΡ… Π·Π°Ρ‰ΠΈΡ‚Ρƒ с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

25. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, (ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ) ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ ΠΈΠ»ΠΈ ссылкС

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‡Π΅Ρ‚ΠΊΠΎ ΡƒΡΡΠ½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ, Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΈ для Π²Π²ΠΎΠ΄Π°, ΠΈ для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΈ ΠΏΠΎ ссылкС, ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

26. Π‘охраняйтС Π΅ΡΡ‚Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ сСмантику ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ нСнавидят ΡΡŽΡ€ΠΏΡ€ΠΈΠ·Ρ‹. ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°ΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС вСских Π½Π° Ρ‚ΠΎ оснований, ΠΈ сохраняйтС ΠΏΡ€ΠΈ этом ΠΈΡ… Π΅ΡΡ‚Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ сСмантику. Если это оказываСтся слоТным, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

27. ΠžΡ‚Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ каноничСским Ρ„ΠΎΡ€ΠΌΠ°ΠΌ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² присваивания

Если ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°+b, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ a+=b. ΠŸΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ прСдоставляйтС ΠΈ ΠΈΡ… ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ вСрсии, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ это с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ максимальной ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ.

28. ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ каноничСский Π²ΠΈΠ΄ ++ ΠΈ --, ΠΈ Π²Ρ‹Π·ΠΎΠ² прСфиксных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π° ΠΈ Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ прСфиксная ΠΈ постфиксная Ρ„ΠΎΡ€ΠΌΡ‹ с Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰Π΅ΠΉΡΡ сСмантикой. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ operator++ ΠΈ operator-- Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Ρ€Π°ΠΆΠ°Π»ΠΈ повСдСнию своих встроСнных Π΄Π²ΠΎΠΉΠ½ΠΈΠΊΠΎΠ². Если Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°ΠΌ Π½Π΅ трСбуСтся исходноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прСфиксныС вСрсии ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

29. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ нСявного прСобразования Ρ‚ΠΈΠΏΠΎΠ²

НС приумноТаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ свСрх нСобходимости (Π‘Ρ€ΠΈΡ‚Π²Π° Оккама): нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² обСспСчиваСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ синтаксичСскоС удобство (ΠΎΠ΄Π½Π°ΠΊΠΎ см. Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ 40), Π½ΠΎ Π² ситуации, ΠΊΠΎΠ³Π΄Π° допустима оптимизация (см. Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ 8) ΠΈ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ создания ΠΈΠ·Π»ΠΈΡˆΠ½ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с сигнатурами, Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ распространСнным Ρ‚ΠΈΠΏΠ°ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΈ Ρ‚Π΅ΠΌ самым ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ прСобразования Ρ‚ΠΈΠΏΠΎΠ².

30. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ &&, || ΠΈ , (запятой)

ΠœΡƒΠ΄Ρ€ΠΎΡΡ‚ΡŒ β€” это Π·Π½Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ Π²ΠΎΠ·Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ. ВстроСнныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ &&, || ΠΈ , (запятая) Ρ‚Ρ€Π°ΠΊΡ‚ΡƒΡŽΡ‚ΡΡ компилятором ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ПослС ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠ½ΠΈ становятся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ функциями с вСсьма ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ сСмантикой (ΠΏΡ€ΠΈ этом Π²Ρ‹ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ 26 ΠΈ 31), Π° это прямой ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌΡ‹ΠΌ ошибкам ΠΈ нСнадСТности. НС ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°ΠΉΡ‚Π΅ эти ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π±Π΅Π· ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ нСобходимости ΠΈ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания.

31. ΠΠ΅ ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ зависит ΠΎΡ‚ порядка вычислСний Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ вычислСния Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, поэтому Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠ»Π°Π³Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ очСрСдности.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ классов ΠΈ наслСдованиС

32. Π―сно прСдставляйтС, ΠΊΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄ класса Π²Ρ‹ создаСтС

БущСствуСт большоС количСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² классов, ΠΈ слСдуСт Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ класс Π²Ρ‹ создаСтС.

33. ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ классы ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹ΠΌ

РаздСляй ΠΈ властвуй: нСбольшиС классы Π»Π΅Π³Ρ‡Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ, Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Они Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ Π² большСм количСствС ситуаций. ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ нСбольшиС классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠΏΠ»ΠΎΡ‰Π°ΡŽΡ‚ простыС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, классам, ΠΏΡ‹Ρ‚Π°ΡŽΡ‰ΠΈΠΌΡΡ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ нСсколько ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΈ слоТныС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ (см. Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ 5 ΠΈ 6).

34. ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ наслСдованию

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ "Π½Π°Π»ΠΎΠ³Π° Π½Π° наслСдство": наслСдованиС β€” вторая ΠΏΠΎ силС послС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π΄Ρ€ΡƒΠΆΠ±Ρ‹ взаимосвязь, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Π² Π‘++. Π‘ΠΈΠ»ΡŒΠ½Ρ‹Π΅ связи Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹, ΠΈ ΠΈΡ… слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, слСдуСт ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ наслСдованию, ΠΊΡ€ΠΎΠΌΠ΅ случаСв, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ прСимущСства Π΄Π°Π΅Ρ‚ наслСдованиС Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

35. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ наслСдования ΠΎΡ‚ классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ спроСктированы для этой Ρ†Π΅Π»ΠΈ

ΠšΠ»Π°ΡΡΡ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠ³ΠΎ использования, ΠΏΠΎΠ΄Ρ‡ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ проСктирования, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠ» для Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов (см. Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ 32). ИспользованиС Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Ρ… классов Π² качСствС Π±Π°Π·ΠΎΠ²Ρ‹Ρ… являСтся ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ ошибкой проСктирования ΠΈ Π΅Π³ΠΎ слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ. Для добавлСния спСцифичСского повСдСния ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ вмСсто Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ-Ρ‡Π»Π΅Π½ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (см. Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ 44). Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ состояниС, вмСсто наслСдования слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ (см. Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ 34). Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ наслСдования ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов.