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

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

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

Волько послС ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ освоСния основ использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (ΠΈ написания Ρ€Π°Π·Π½Ρ‹Ρ… абстрактных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ) ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Ρ‚Π΅ΠΌ срСдствам языка Π‘++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ собствСнныС абстракции. Π’ частях III ΠΈ IV Π³Π»Π°Π²Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся написанию абстракции Π² Ρ„ΠΎΡ€ΠΌΠ΅ классов. Π’ части III Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹, Π° Π² части IV β€” спСциализированныС срСдства.

Π’ части III ΠΌΡ‹ рассматриваСм ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ управлСния ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы создания классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊ ΠΆΠ΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹, ΠΊΠ°ΠΊ ΠΈ встроСнныС Ρ‚ΠΈΠΏΡ‹. ΠšΠ»Π°ΡΡΡ‹ β€” это основа ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ программирования, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСно Π² части III. Книга заканчиваСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ IV, Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ срСдства, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈ слоТных систСмах. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ А ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

БоглашСния, принятыС Π² ΠΊΠ½ΠΈΠ³Π΅

КаТдая Π³Π»Π°Π²Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Ρ€Π΅Π·ΡŽΠΌΠ΅ ΠΈ словарСм Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ². Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ список: Ссли Π²Ρ‹ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½, слСдуСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π³Π»Π°Π²Ρ‹.

Π—Π΄Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ соглашСния, общСпринятыС Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅.

β€’ ΠΠΎΠ²Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ Π² тСкстС Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ курсивом. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ читатСля Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ тСкста, Ρ‚Π°ΠΊΠΆΠ΅ примСняСтся курсив.

β€’ Π’Скст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, URL Π²Π΅Π±-страниц ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ΄ прСдставлСн ΠΌΠΎΠ½ΠΎΡˆΠΈΡ€ΠΈΠ½Π½Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ.

β€’ Π’сС, Ρ‡Ρ‚ΠΎ придСтся Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ ΠΏΠΎΠ»ΡƒΠΆΠΈΡ€Π½Ρ‹ΠΌ ΠΌΠΎΠ½ΠΎΡˆΠΈΡ€ΠΈΠ½Π½Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ.

β€’ Π—накомСсто Π² описаниях синтаксиса Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ курсивом. Π­Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ знакомСсто фактичСским ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ элСмСнтом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° этом мСстС. НапримСр: BINDSIZE=(максимальная ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ)*(Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ).

β€’ ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ мСню ΠΈ названия Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠΎΠ½ прСдставлСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Menu Option (ΠŸΡƒΠ½ΠΊΡ‚ мСню).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΎ компиляторах

На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания этой ΠΊΠ½ΠΈΠ³ΠΈ (июль 2012 Π³ΠΎΠ΄Π°) поставщики компиляторов интСнсивно Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ, модифицируя свои компиляторы Π² соотвСтствии с послСдним стандартом ISO. Π§Π°Ρ‰Π΅ всСго ΠΌΡ‹ использовали компилятор GNU вСрсии 4.7.0. Π’ этой ΠΊΠ½ΠΈΠ³Π΅ использовано лишь нСсколько срСдств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² этом компиляторС Π΅Ρ‰Π΅ Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹: наслСдованиС конструкторов, ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ссылок для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ-Ρ‡Π»Π΅Π½ΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Благодарности

ΠœΡ‹ ΠΎΡ‡Π΅Π½ΡŒ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½Ρ‹ Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ этого издания Π½Ρ‹Π½Π΅ΡˆΠ½ΠΈΠΌ ΠΈ ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌ Ρ‡Π»Π΅Π½Π°ΠΌ ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚Π° ΠΏΠΎ стандартизации: Π”Π΅ΠΉΠ² Абрахамс (Dave Abrahams), Π­Π½Π΄ΠΈ ΠšΡ‘Π½ΠΈΠ³ (Andy Koenig), Π‘Ρ‚Π΅Ρ„Π°Π½ Π’. Π›Π°Π²Π°Π²Π΅ΠΉ (Stephan T. Lavavej), ДТСйсон ΠœΠ΅Ρ€Ρ€ΠΈΠ»Π» (Jason Merrill), Π”ΠΆΠΎΠ½ БпайсСр (John Spicer) ΠΈ Π“Π΅Ρ€Π± Π‘Π°Ρ‚Ρ‚Π΅Ρ€ (Herb Sutter). Они ΠΎΠΊΠ°Π·Π°Π»ΠΈ Π½Π°ΠΌ Π½Π΅ΠΎΡ†Π΅Π½ΠΈΠΌΡƒΡŽ ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… нюансов Π½ΠΎΠ²ΠΎΠ³ΠΎ стандарта. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π½Π°Π΄ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ компилятора GNU ΠΈ сдСлали стандарт Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ.

Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… изданиях этой ΠΊΠ½ΠΈΠ³ΠΈ, ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΎΡΡ‚ΡŒ Π‘ΡŒΡΡ€Π½Π΅ Бтрауструпу (Bjarne Stroustrup) Π·Π° Π΅Π³ΠΎ Π½Π΅ΡƒΡΡ‚Π°Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ языком Π‘++ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅Ρ‚Π½ΡŽΡŽ Π΄Ρ€ΡƒΠΆΠ±Ρƒ с Π°Π²Ρ‚ΠΎΡ€Π°ΠΌΠΈ. Π₯ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚ΡŒ АлСкса Π‘Ρ‚Π΅ΠΏΠ°Π½ΠΎΠ²Π° (Alex Stepanov) Π·Π° Π΅Π³ΠΎ объяснСния ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ядро стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, сСрдСчная Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΎΡΡ‚ΡŒ Ρ‡Π»Π΅Π½Π°ΠΌ ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚Π° ΠΏΠΎ стандарту Π‘++ Π·Π° ΠΈΡ… ΡƒΠΏΠΎΡ€Π½ΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅Ρ‚Π½ΡŽΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΡŽ ΠΈ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡŽ стандарта языка Π‘++.

Авторы Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‚ Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Ρ†Π΅Π½Π·Π΅Π½Ρ‚Π°ΠΌ, Ρ‡ΡŒΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, замСчания ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ. Бпасибо ΠœΠ°Ρ€ΡˆΠ°Π»Π»Ρƒ ΠšΠ»ΠΎΡƒ (Marshall Clow), Π”ΠΆΠΎΠ½Ρƒ ΠšΠ°Π»Π±Ρƒ (Jon Kalb), НСвину Π›ΠΈΠ±Π΅Ρ€Ρƒ (Nevin Liber), Π΄Ρ€. К. Π›. Π’ΠΎΠ½Π΄ΠΎ (Dr. Π‘. L. Tondo), Дэвиду Π’Π°Π½Π΄Π΅Π²ΡƒΡ€Π΄Ρƒ (Daveed Vandevoorde) ΠΈ Π‘Ρ‚ΠΈΠ²Ρƒ Виноски (Steve Vinoski).

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° Π±Ρ‹Π»Π° Π½Π°Π±Ρ€Π°Π½Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ систСмы LaTeX ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅ΠΌΡ‹Ρ… ΠΊ Π½Π΅ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Авторы Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‚ Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΎΡΡ‚ΡŒ Ρ‡Π»Π΅Π½Π°ΠΌ сообщСства LaTeX, сдСлавшим доступным Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт.

И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌ сотрудников ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Addison-Wesley, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ процСсс ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ этой ΠΊΠ½ΠΈΠ³ΠΈ: ΠŸΠΈΡ‚Π΅Ρ€ Π“ΠΎΡ€Π΄ΠΎΠ½ (Peter Gordon) β€” наш Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΏΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ эту ΠΊΠ½ΠΈΠ³Ρƒ Π΅Ρ‰Π΅ Ρ€Π°Π·; Ким Π‘ΠΎΠ΄ΠΈΡ…Π°ΠΉΠΌΠ΅Ρ€ (Kim Boedigheimer) ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π» Π³Ρ€Π°Ρ„ΠΈΠΊ выполнСния Ρ€Π°Π±ΠΎΡ‚; Π‘Π°Ρ€Π±Π°Ρ€Π° Π’ΡƒΠ΄ (Barbara Wood) нашла мноТСство Π½Π°ΡˆΠΈΡ… ошибок Π½Π° этапС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π° Π­Π»ΠΈΠ·Π°Π±Π΅Ρ‚ Π Π°ΠΉΠ°Π½ (Elizabeth Ryan) снова ΠΏΠΎΠΌΠΎΠ³Π°Π»Π° Π°Π²Ρ‚ΠΎΡ€Π°ΠΌ Π½Π° протяТСнии всСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠžΡ‚ ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°

Π’Ρ‹, Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ этой ΠΊΠ½ΠΈΠ³ΠΈ, ΠΈ Π΅ΡΡ‚ΡŒ Π³Π»Π°Π²Π½Ρ‹ΠΉ Π΅Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΠΊ. ΠœΡ‹ Ρ†Π΅Π½ΠΈΠΌ вашС ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΈ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сдСлано Π½Π°ΠΌΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈ Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠ·Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π°ΠΌΠΈ. Нам интСрСсно ΡƒΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ замСчания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π²Ρ‹ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌ.

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

ΠŸΠΎΡΡ‹Π»Π°Ρ письмо ΠΈΠ»ΠΈ сообщСниС, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ Π΅Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ваш e-mail. ΠœΡ‹ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ознакомимся с вашим ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡ‡Ρ‚Π΅ΠΌ Π΅Π³ΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚Π±ΠΎΡ€Π΅ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ ΠΊ изданию ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠ½ΠΈΠ³. Наши ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹:

E-mail: infΠΎ@williamspublishing.com

WWW: http://www.williamspublishing.com

Наши ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ адрСса:

Π² России: 127055, Π³. Москва, ΡƒΠ». ЛСсная, Π΄. 43, стр. 1

Π² Π£ΠΊΡ€Π°ΠΈΠ½Π΅: 03150, КиСв, Π°/я 152

Π“Π»Π°Π²Π° 1

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

Π­Ρ‚Π° Π³Π»Π°Π²Π° Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов языка Π‘++: Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, выраТСниями, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ функциями. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, здСсь ΠΊΡ€Π°Ρ‚ΠΊΠΎ описано, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

Π˜Π·ΡƒΡ‡ΠΈΠ² эту Π³Π»Π°Π²Ρƒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ упраТнСния, Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ способСн Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ, ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. ΠŸΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π³Π»Π°Π²Ρ‹ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π² состоянии ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ описанныС Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ срСдства ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

Π›ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ язык программирования Π² процСссС написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π’ этой Π³Π»Π°Π²Π΅ ΠΌΡ‹ напишСм ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для ΠΊΠ½ΠΈΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°.

ΠšΠ½ΠΈΠΆΠ½Ρ‹ΠΉ ΠΌΠ°Π³Π°Π·ΠΈΠ½ Ρ…Ρ€Π°Π½ΠΈΡ‚ Ρ„Π°ΠΉΠ» Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, каТдая ΠΈΠ· записСй ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ соотвСтствуСт ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… экзСмпляров ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. КаТдая транзакция содСрТит Ρ‚Ρ€ΠΈ элСмСнта Π΄Π°Π½Π½Ρ‹Ρ…:

0-201-70353-Π₯ 4 24.99

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт β€” это ISBN (International Standard Book Number β€” ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΉ стандартный Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠ½ΠΈΠ³ΠΈ), Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” количСство ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… экзСмпляров, послСдний β€” Ρ†Π΅Π½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π» ΠΏΡ€ΠΎΠ΄Π°Π½ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих экзСмпляров. Π’Π»Π°Π΄Π΅Π»Π΅Ρ† ΠΊΠ½ΠΈΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ просматриваСт этот Ρ„Π°ΠΉΠ» ΠΈ вычисляСт для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ количСство ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… экзСмпляров, ΠΎΠ±Ρ‰ΠΈΠΉ Π΄ΠΎΡ…ΠΎΠ΄ ΠΎΡ‚ этой ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ Π΅Π΅ ΡΡ€Π΅Π΄Π½ΡŽΡŽ Ρ†Π΅Π½Ρƒ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ нСсколько элСмСнтарных срСдств языка Π‘++. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, слСдуСт Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Π₯отя ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, нСслоТно ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

β€’ ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

β€’ ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π²Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄.

β€’ ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ структуру для содСрТания Π΄Π°Π½Π½Ρ‹Ρ….

β€’ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π½Π΅Ρ‚ Π»ΠΈ Π΄Π²ΡƒΡ… записСй с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ISBN.

β€’ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи Π² Ρ„Π°ΠΉΠ»Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ.

Π‘Π½Π°Ρ‡Π°Π»Π° рассмотрим, ΠΊΠ°ΠΊ эти Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ срСдствами языка Π‘++, Π° Π·Π°Ρ‚Π΅ΠΌ напишСм Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для ΠΊΠ½ΠΈΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°.

1.1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС Π‘++

КаТдая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π‘++ содСрТит ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (function), ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ… ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ имя main(). Запуская ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π‘++, опСрационная систСма Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ main(). Π’ΠΎΡ‚ простая вСрсия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main(), которая Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ возвращСния значСния 0 ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС:

int main() {

 return 0;

}

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ содСрТит Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ элСмСнта: Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния (return type), имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (function name), список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (parameter list), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустым, ΠΈ Ρ‚Π΅Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (function body). Π₯отя функция main() являСтся Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни особСнной, ΠΌΡ‹ опрСдСляСм Π΅Π΅ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ способом, ΠΊΠ°ΠΊ ΠΈ Π»ΡŽΠ±ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main() пуст (ΠΎΠ½ прСдставлСн скобками (), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅Ρ‚). Π‘ΠΎΠ»Π΅Π΅ подробная информация ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main() ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 6.2.5.

Ѐункция main() обязана ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния int, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ‚ΠΈΠΏΠΎΠΌ Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π’ΠΈΠΏ int β€” это встроСнный Ρ‚ΠΈΠΏ (built-in type) Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² самом языкС.

Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ опрСдСлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π΅Π΅ Ρ‚Π΅Π»ΠΎ, прСдставляСт собой Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² (block of statements), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ начинаСтся ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΎΠΉ скобкой (curly brace) ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΎΠΉ скобкой.