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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ программирования C++. ΠŸΡΡ‚ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 11

Автор Π‘Ρ‚Π΅Π½Π»ΠΈ Π›ΠΈΠΏΠΏΠΌΠ°Π½

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ >>. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Π²ΠΎΠ΄Π°. Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π² ΠΏΡ€Π°Π²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠ° Π²Π²ΠΎΠ΄Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π»Π΅Π²Ρ‹ΠΌ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ. НапримСр, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ cin >> i считываСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ со стандартного устройства Π²Π²ΠΎΠ΄Π° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ i. НСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π° Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ: Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ cin >> i >> j считываСт Π΄Π°Π½Π½Ρ‹Π΅ сначала Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ i, Π° Π·Π°Ρ‚Π΅ΠΌ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ j.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ for. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π°, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для повторСния вычислСний ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство Ρ€Π°Π·.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if. Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° основании значСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ условия. Если условиС истинно (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true), выполняСтся Ρ‚Π΅Π»ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° if. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false) ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ else.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ while. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π°, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°, ΠΏΠΎΠΊΠ° Π΅Π³ΠΎ условиС остаСтся истинным.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ (variable). Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ (assignment). УдаляСт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ замСняСт Π΅Π³ΠΎ Π½ΠΎΠ²Ρ‹ΠΌ.

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΠ΅Π½ (namespace). ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ примСнСния ΠΈΠΌΠ΅Π½, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ пространств ΠΈΠΌΠ΅Π½ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ случайных ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈΠΌΠ΅Π½ΠΈ. ИмСна, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ языка Π‘++, находятся Π² пространствС ΠΈΠΌΠ΅Π½ std.

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΠ΅Π½ std. ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΠ΅Π½, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ. Π—Π°ΠΏΠΈΡΡŒ std::cout ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ имя cout ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² пространствС ΠΈΠΌΠ΅Π½ std.

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, компиляция, ΠΎΡ‚Π»Π°Π΄ΠΊΠ° (edit-compile-debug). ΠŸΡ€ΠΎΡ†Π΅ΡΡ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ строковый Π»ΠΈΡ‚Π΅Ρ€Π°Π» (character string literal). Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° строковый Π»ΠΈΡ‚Π΅Ρ€Π°Π».

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (parameter list). Π§Π°ΡΡ‚ΡŒ опрСдСлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² опрСдСляСт Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, примСняСмыС ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пуст.

Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (standard library). ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ компилятор языка Π‘++. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° прСдоставляСт Ρ‚ΠΈΠΏΡ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°. Под Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ программисты Π‘++ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ Π»ΠΈΠ±ΠΎ всю ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Π»ΠΈΠ±ΠΎ Π΅Π΅ Ρ‡Π°ΡΡ‚ΡŒ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠ². НапримСр, ΠΊΠΎΠ³Π΄Π° программисты говорят ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ iostream, ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ Ρ‚Ρƒ Ρ‡Π°ΡΡ‚ΡŒ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ классы Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°.

Бтандартная ошибка (standard error). ΠŸΠΎΡ‚ΠΎΠΊ Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сообщСния ΠΎΠ± ошибкС. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠΈ стандартного Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ стандартной ошибки Π°ΡΡΠΎΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‚ΡΡ с ΠΎΠΊΠ½ΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄ (standard input). ΠŸΠΎΡ‚ΠΎΠΊ Π²Π²ΠΎΠ΄Π°, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ассоциируСмый с ΠΎΠΊΠ½ΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ (standard output). ΠŸΠΎΡ‚ΠΎΠΊ Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ассоциируСмый с ΠΎΠΊΠ½ΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Π» (string literal). ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "Π° string literal").

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… (data structure). ЛогичСскоС объСдинСниС Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… для Π½ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π’Π΅Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (function body). Π‘Π»ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ выполняСмыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ дСйствия.

Π’ΠΈΠΏ istream. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Π²Π²ΠΎΠ΄.

Π’ΠΈΠΏ ostream. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄.

Π’ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния (return type). Π’ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ значСния.

Π’ΠΈΠΏ класса (class type). Π’ΠΈΠΏ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ классом. Имя Ρ‚ΠΈΠΏΠ° совпадаСт с ΠΈΠΌΠ΅Π½Π΅ΠΌ класса.

УсловиС (condition). Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ являСтся логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true (истина) ΠΈΠ»ΠΈ false (лоТь). ΠΡƒΠ»ΡŒ соотвСтствуСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ false, Π° любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ true.

Π€Π°ΠΉΠ» исходного ΠΊΠΎΠ΄Π° (source file). Π’Π΅Ρ€ΠΌΠΈΠ½, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для описания Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС Π‘++.

Ѐигурная скобка (curly brace). Π€ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ фигурная скобка ({) Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π±Π»ΠΎΠΊ, Π° Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ (}) Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Π΅Π³ΠΎ.

Ѐункция (function). Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

Ѐункция main(). Ѐункция, вызываСмая ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π‘++. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½Π° ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° функция ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ main().

Ѐункция-Ρ‡Π»Π΅Π½ (member function). ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ, опрСдСлСнная классом. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ.

Π§Π°ΡΡ‚ΡŒ I

ΠžΡΠ½ΠΎΠ²Ρ‹

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

β€’ Π’строСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ†Π΅Π»Ρ‹Π΅ числа, символы ΠΈ Ρ‚.Π΄.).

β€’ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ.

β€’ Π’ыраТСния ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ значСниями этих Ρ‚ΠΈΠΏΠΎΠ².

β€’ Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ структуры, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ if ΠΈΠ»ΠΈ while, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ условноС ΠΈ цикличСскоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€ΠΎΠ² дСйствий.

β€’ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π±Π»ΠΎΠΊΠ°ΠΌ дСйствий.

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

Π’ языкС Π‘++, ΠΊΠ°ΠΊ ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков программирования, допустимыС для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ опрСдСляСт Π΅Π³ΠΎ Ρ‚ΠΈΠΏ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ допустимым ΠΈΠ»ΠΈ нСдопустимым Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. НСкоторыС языки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Smalltalk ΠΈ Python, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² выраТСниях Ρ‚ΠΈΠΏΡ‹ Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½ΠΈΡ…, язык Π‘++ осущСствляСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… статичСски, Ρ‚.Π΅. соотвСтствиС Ρ‚ΠΈΠΏΠΎΠ² провСряСтся Π²ΠΎ врСмя компиляции. Как слСдствиС, компилятор Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ Π΅ΠΌΡƒ Ρ‚ΠΈΠΏ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΠΌΠ΅Π½ΠΈ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΎ.

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

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

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом ΠΏΠΎ овладСнию языком Π‘++ являСтся ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ основ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ β€” Ρ‚Π°ΠΊΠΎΠ²Π° Ρ‚Π΅ΠΌΠ° части I, "ΠžΡΠ½ΠΎΠ²Ρ‹". Π’ Π³Π»Π°Π²Π΅ 2 Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ встроСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ обсуТдаСтся ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ опрСдСлСния Π½ΠΎΠ²Ρ‹Ρ…, собствСнных Ρ‚ΠΈΠΏΠΎΠ². Π’ Π³Π»Π°Π²Π΅ 3 описаны Π΄Π²Π° Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°: string (строка) ΠΈ vector (Π²Π΅ΠΊΡ‚ΠΎΡ€). Π’ этой ΠΆΠ΅ Π³Π»Π°Π²Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ массивы, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ собой Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π² язык Π‘++, ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… языков. Π“Π»Π°Π²Ρ‹ 4-6 посвящСны выраТСниям, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ ΠΈ функциям. Π—Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒ Π³Π»Π°Π²ΠΎΠΉ 7 Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ основы построСния собствСнных Ρ‚ΠΈΠΏΠΎΠ² классов. Как ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ собствСнных Ρ‚ΠΈΠΏΠΎΠ² примиряСтся всС, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ написаниС класса ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ использованиС всСх срСдств, частично раскрытых Π² части I.

Π“Π»Π°Π²Π° 2

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… β€” это основа любой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: ΠΎΠ½ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ эти Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ.