ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° классов срСдствами языка программирования Π‘++Builder6/0

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’Ρ€Π΅Ρ‚ΡŒΠΈΠΌ ΠΏΠΎ Π·Π½Π°Ρ‡ΠΈΠΌΠΎΡΡ‚ΠΈ понятиСм являСтся ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. Он ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ся Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (Π² Π²ΠΈΠ΄Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ). ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ становится «ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ». Π‘ΡƒΠ΄ΡƒΡ‡ΠΈ доступным Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ отсутствии ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ΅, ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ свойствСнныС Π΅ΠΌΡƒ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° классов срСдствами языка программирования Π‘++Builder6/0 (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠ˜ΠΠ˜Π‘Π’Π•Π Π‘Π’Π’Πž ΠžΠ‘Π ΠΠ—ΠžΠ’ΠΠΠ˜Π― Π ΠžΠ‘Π‘Π˜Π™Π‘ΠšΠžΠ™ Π€Π•Π”Π•Π ΠΠ¦Π˜Π˜ ГосударствСнноС ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π’Ρ‹ΡΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования

" ΠšΡƒΠ±Π°Π½ΡΠΊΠΈΠΉ государствСнный тСхнологичСский унивСрситСт"

(ΠšΡƒΠ±Π“Π’Π£) Армавирский ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΎ-тСхнологичСский институт ΠšΠ°Ρ„Π΅Π΄Ρ€Π° внутризаводского элСктрооборудования ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠΊΠΈ

ΠŸΠžΠ―Π‘ΠΠ˜Π’Π•Π›Π¬ΠΠΠ― Π—ΠΠŸΠ˜Π‘ΠšΠ

ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π½Π° Ρ‚Π΅ΠΌΡƒ «ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° абстрактных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… срСдствами языка программирования C++ Builder 6/0»

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» студСнт Π³Ρ€ΡƒΠΏΠΏΡ‹ Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ (Π½ΠΎΡ€ΠΌΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€) ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΄ΠΎΡ†. ΠΊΠ°Ρ„.

Π—Π°Ρ‰ΠΈΡ‰Π΅Π½ Армавир 2010 Π³.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ задания: Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ класс wind, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π²Π΅Ρ‚Ρ€ΠΎΠ²ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ. Класс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Π²Π° поля Ρ‚ΠΈΠΏΠ° int для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ направлСния (0?

ОбъСм Ρ€Π°Π±ΠΎΡ‚Ρ‹ 25−30 листов.

РСкомСндуСмая Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°:

ΠΡ€Ρ…Π°Π½Π³Π΅Π»ΡŒΡΠΊΠΈΠΉ А. Π―. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² C++ Builder 6. — Πœ.: Π—ΠΠž «Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π‘Π˜ΠΠžΠœ». 2003. — 1152 с.: ΠΈΠ».

Иванова П.Π‘. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Π£Ρ‡Π΅Π±Π½ΠΈΠΊ для Π’Π£Π—ΠΎΠ². — Πœ.: Изд. ΠœΠ“Π’Π£ ΠΈΠΌ Н. Π­. Π‘Π°ΡƒΠΌΠ°Π½Π°. 2001. — 320с.: ΠΈΠ».

Шамис Π’.А. Borland C++Builder 6/0 для профСссионалов. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2003. — 798 с.: ΠΈΠ».

Π‘Ρ€ΠΎΠΊ выполнСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с Π”Π°Ρ‚Π° Π²Ρ‹Π΄Π°Ρ‡ΠΈ задания Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΄ΠΎΡ†Π΅Π½Ρ‚ ΠΊΠ°Ρ„Π΅Π΄Ρ€Ρ‹ ВЭА ____________

Π—Π°Π΄Π°Π½ΠΈΠ΅ принял студСнт ___________________

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°: 27 с., 6 рис., 2 ΠΏΡ€ΠΈΠ»., 1 ΠΏΡ€ΠΎΠ³Ρ€.

ΠšΠ›ΠΠ‘Π‘ WIND, ΠžΠ‘ΠͺΠ•ΠšΠ’, C++BUILDER 6.

ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹: Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ Π½Π°Π²Ρ‹ΠΊΠΈ проСктирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ классов; Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ абстрактный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (класс), Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π²Π΅Ρ‚Ρ€ΠΎΠ²ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ, Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ класса.

Π—Π°Π΄Π°Ρ‡ΠΈ:

ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ класс wind, ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ UML — Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ класса, для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ конструктор ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ характСристик Π²Π΅Ρ‚Ρ€Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ dd-V, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ слоСния),

Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ массив ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° wind (каТдая строка — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса wind).,

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Ρ‹ Π½Π°Π²Ρ‹ΠΊΠΈ построСния классов ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² инкапсуляции ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°, написан ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования C++ Π² ΡΡ€Π΅Π΄Π΅ программирования C++Buiilder 5/0 Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΊΠ»Π°ΡΡΠΎΠΌ wind, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ руководство ΠΏΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
    • 1. ВСорСтичСскиС аспСкты ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования
    • 1.1 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования
    • 1.2 ОписаниС класса
    • 1.3 ОписаниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
    • 1.4 ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹
    • 2. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ
    • 2.1 ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ программирования. Π’Π΅Ρ‚Ρ€ΠΎΠ²ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ
    • 2.2 Атрибуты ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса. UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°
    • 2.3 ОписаниС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ VCL
    • 2.4 ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ дСкомпозиция
    • 3. ОписаниС ПО
    • 3.1 Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
    • 3.2 Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
    • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
    • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

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

ЦСлью Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Π½Π°Π²Ρ‹ΠΊΠΎΠ² проСктирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ классов; Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° абстрактного Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… (класса), Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²Π΅Ρ‚Ρ€ΠΎΠ²ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ; Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ класса.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³Π»Π°Π²Π΅ приводится тСорСтичСский ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π».

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π³Π»Π°Π²Π΅ рассмотрСна прСдмСтная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ программирования — характСристика Π²Π΅Ρ‚Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΈ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ‹ этапы проСктирования класса wind, описаны классы Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² Ρ…ΠΎΠ΄Π΅ проСктирования интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Π³Π»Π°Π²Π΅ приводится руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ЧСтвСртая Π³Π»Π°Π²Π° содСрТит Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстирования ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ содСрТит ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ Ρ€ΠΈΡΡƒΠ½ΠΊΠΈ, с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠΊΠΎΠ½ написанной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

1. ВСорСтичСскиС аспСкты ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования

1.1 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования

ИспользованиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ООП Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ…, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ собой классов ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡ… ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… программисту Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² ΡΠ·Ρ‹ΠΊΠ΅. ΠŸΡ€ΠΈ этом общая структура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ остаСтся Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ. («ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ»).

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ООП) — это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ понятий (класс, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, инкапсуляция, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, наслСдованиС), ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π° Π‘ΠΈ++ - инструмСнт этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ «ΠΎΡ‚ ΠΊΠ»Π°ΡΡΠ° ΠΊ ΠΊΠ»Π°ΡΡΡƒ» Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ ряд Π½ΠΎΠ²Ρ‹Ρ… понятий. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, это — инкапсуляция Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ логичСскоС связываниС Π΄Π°Π½Π½Ρ‹Ρ… с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ — доступными всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ — доступными Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ°Π»ΠΎΠΉ Π΅Π΅ Ρ‡Π°ΡΡ‚ΠΈ. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ автоматичСски ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Для этого Π² ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π΅ class ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ спСцификатор Ρ€Π°Π·Π΄Π΅Π»Π° private, содСрТащий Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, доступныС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для самого класса. Если Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ содСрТатся Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ public, ΠΎΠ½ΠΈ доступны ΠΈΠ·Π²Π½Π΅ класса. Π Π°Π·Π΄Π΅Π» protected содСрТит Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, доступныС ΠΈΠ· ΠΊΠ»Π°ΡΡΠ° ΠΈ Π»ΡŽΠ±ΠΎΠ³ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса. НаличиС послСдних позволяСт Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ± ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ классы — Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ — ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для создания классов — ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ². ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ класса, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ экзСмплярами этого класса.

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

Π’Ρ€Π΅Ρ‚ΡŒΠΈΠΌ ΠΏΠΎ Π·Π½Π°Ρ‡ΠΈΠΌΠΎΡΡ‚ΠΈ понятиСм являСтся ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. Он ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ся Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (Π² Π²ΠΈΠ΄Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ). ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ становится «ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ». Π‘ΡƒΠ΄ΡƒΡ‡ΠΈ доступным Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ отсутствии ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ΅, ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ свойствСнныС Π΅ΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½ΠΎΠΉ называСтся функция, нСзависимо опрСдСлСнная Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… классов ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ Π² Π½ΠΈΡ… ΠΎΠ±Ρ‰Π΅Π΅ имя. ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Π°Ρ функция ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Ρ‚Π΅ΠΌ свойством, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ отсутствии ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… классов Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ обрабатываСтся, ΠΎΠ½Π° Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ вызываСтся Π² Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊ ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½Π° Π±Ρ‹Π»Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° для Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ класса. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ смысл ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ сообщСниС ΠΎ ΡΠ±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π»ΡŽΠ±ΠΎΠΌΡƒ классу, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс, ΠΈ ΠΊΠ»Π°ΡΡΡ‹-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ отвСтят Π½Π° ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ классы содСрТат Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

1.2 ОписаниС класса

Класс являСтся абстрактным Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, опрСдСляСмым ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚авляСт собой модСль Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Π²ΠΈΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ.

Π”Π°Π½Π½Ρ‹Π΅ класса Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ полями, Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ класса — ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. Поля ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ элСмСнтами класса. ОписаниС класса Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΈ выглядит Ρ‚Π°ΠΊ:

сlass <�имя>

{ [private:]

// описаниС скрытых элСмСнтов

Public:

// описаниС доступных элСмСнтов

}; // описаниС заканчиваСтся Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с Π·Π°ΠΏΡΡ‚ΠΎΠΉ

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ доступа private ΠΈ public ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ элСмСнтов класса. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, описанныС послС слуТСбного слова private, Π²ΠΈΠ΄ΠΈΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса. Π­Ρ‚ΠΎΡ‚ Π²ΠΈΠ΄ доступа принят Π² ΠΊΠ»Π°ΡΡΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ класса описываСтся послС спСцификатора public. ДСйствиС любого спСцификатора распространяСтся Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ спСцификатора ΠΈΠ»ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° класса. МоТно Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ нСсколько сСкций private ΠΈ public, порядок ΠΈΡ… ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ значСния Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚.

Поля класса ΠΌΠΎΠ³ΡƒΡ‚:

ΠΈΠΌΠ΅Ρ‚ΡŒ любой Ρ‚ΠΈΠΏ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΈΠΏΠ° этого ΠΆΠ΅ класса (Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ указатСлями ΠΈΠ»ΠΈ ссылками Π½Π° ΡΡ‚ΠΎΡ‚ класс);

Π±Ρ‹Ρ‚ΡŒ описаны с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ const, ΠΏΡ€ΠΈ этом ΠΎΠ½ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ;

Π±Ρ‹Ρ‚ΡŒ описаны с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ static.

ΠšΠ»Π°ΡΡΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ (ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π²Π½Π΅ любого Π±Π»ΠΎΠΊΠ°) ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ (ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса).

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности локального класса:

Π²Π½ΡƒΡ‚Ρ€ΠΈ локального класса ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹, статичСскиС (static) ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΠ΅ (extern) ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, внСшниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ пСрСчислСний ΠΈΠ· ΠΎΠ±Π»Π°ΡΡ‚ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ ΠΎΠΏΠΈΡΠ°Π½; запрСщаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ автоматичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ· ΡΡ‚ΠΎΠΉ области;

Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ класс Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ статичСских элСмСнтов;

ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ этого класса ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ описаны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса;

Ссли ΠΎΠ΄ΠΈΠ½ класс Π²Π»ΠΎΠΆΠ΅Π½ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ класс, ΠΎΠ½ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠ°ΠΊΠΈΡ… Π»ΠΈΠ±ΠΎ особых ΠΏΡ€Π°Π² доступа ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΎΠ±Ρ‰ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ.

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° создадим класс, ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ комплСксныС числа, записываСмыС Π² Π²ΠΈΠ΄Π΅, Π° + b i, Π³Π΄Π΅ Π°-Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ, Π° b-мнимая.

class Complex // комплСксныС числа

{

private: int a;

int ib;

public:

void setcomplex (int x, int y) // установка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ поля

{a = x; ib=y; }

void getcomplex () // Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»Π΅ΠΉ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹

{cout<<οΏ½"n Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ"; cin>>Π°;

cout<<οΏ½"n Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΌΠ½ΠΈΠΌΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ"; cin>>ib;

}

int get_a () {return a; }

int get_ib () {return ib; }

void show () const

{ cout<<" + «<<» i"; } // Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠ»Π΅ΠΉ Π½Π° ΡΠΊΡ€Π°Π½

};

Π’ ΡΡ‚ΠΎΠΌ классС Π΄Π²Π° скрытых поля a ΠΈ ib, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· Π²Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² get_a () ΠΈ get_ib ().

1.3 ОписаниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° «ΠΊΠ»Π°ΡΡ» Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ экзСмплярами класса, ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ВрСмя ΠΆΠΈΠ·Π½ΠΈ ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² зависит ΠΎΡ‚ Π²ΠΈΠ΄Π° ΠΈ ΠΌΠ΅ΡΡ‚Π° ΠΈΡ… ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄Ρ‡ΠΈΠ½ΡΠ΅Ρ‚ся ΠΎΠ±Ρ‰ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ C++.

Complex z1; // ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса Complex с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

Complex z2 (12,14); // ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ

Complex array_of_complex; // массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

Complex*z = new Complex (10); // динамичСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

Complex &z3 = z1; // ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

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

Доступ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ доступу ΠΊ ΠΏΠΎΠ»ΡΠΌ структуры. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ опСрация Ρ‚ΠΎΡ‡ΠΊΠ° () ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρƒ Ρ‡Π΅Ρ€Π΅Π· имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ — > ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

int n = z1. get_a ();

cout<get_ib ();

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ со ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ public. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ значСния элСмСнтов со ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ private ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ.

МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ константный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, значСния ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ запрСщаСтся. К Π½Π΅ΠΌΡƒ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ константныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

Class Complex

{

int get_a () const {return a; }

};

const Complex z (0,0); // константный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

cout<

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄:

ΠžΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом const послС списка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²;

НС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π΅ΠΉ класса;

ΠœΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ константныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹;

ΠœΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ для Π»ΡŽΠ±Ρ‹Ρ… (Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ константных) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

1.4 ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ся автоматичСски ΠΏΡ€ΠΈ Π΅Π³ΠΎ создании. НиТС пСрСчислСны основныС свойства конструкторов.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ρ‚ΠΈΠΏΠ° void. НСльзя ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.

Класс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько конструкторов с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ для Ρ€Π°Π·Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (ΠΏΡ€ΠΈ этом ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ).

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², называСтся конструктором ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ конструктора ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любой Ρ‚ΠΈΠΏ, ΠΊΡ€ΠΎΠΌΠ΅ этого ΠΆΠ΅ класса. МоТно Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π˜Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ΠΎΠ².

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

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ся.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ нСльзя ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ const, virtual ΠΈ static.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main.

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ становится Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈΡ… Π΄Π΅ΠΉΡΡ‚вия.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ запускаСтся ΠΈ ΠΏΡ€ΠΈ создании Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ вызываСтся, Ссли Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΠ»Π°ΡΡŒ какая-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΡΠΈΠ½Ρ‚аксичСских конструкций:

имя класса имя_ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° [ (список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²)] ;

// список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ пустым

имя_класса (список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²);

// создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π΅Π· ΠΈΠΌΠ΅Π½ΠΈ (список ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустым)

имя класса имя_ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° = Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅;

// создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π΅Π· ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ся

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

Complex z1 (10,11), z2;

Complex z = Complex (100, 200);

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π΄Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ЗначСния Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ создаСтся бСзымянный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, выдСляСтся ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ z, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ копируСтся бСзымянный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° класса с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΠΌΠΈ конструкторами ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΠ΅ΠΌ класс Complex.

class Complex

{

private: int a;

int ib;

public: Complex (): a (0), ib (0) // конструктор Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

{}

Complex (int za, int zib): a (za), ib (zib) // конструктор с Π΄Π²ΡƒΠΌΡ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ

{}

void show () const // Π²Ρ‹Π²ΠΎΠ΄ комплСксного числа Π½Π° ΡΠΊΡ€Π°Π½

{ cout<<" + «<<» i"; } };

2. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ

2.1 ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ программирования. Π’Π΅Ρ‚Ρ€ΠΎΠ²ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ характСристиками, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ Π²Π΅Ρ‚Ρ€ΠΎΠ²ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ (V ΠΊΠΌ/час) ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ (0?

Π€ΠΎΡ€ΠΌΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ: dd-V.

НапримСр, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π²Π΅Ρ‚Ρ€Π° Ρ€Π°Π²Π½Π° 50 ΠΊΠΌ/Ρ‡ ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ 120? Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ записаны ΠΊΠ°ΠΊ 120 Π³Ρ€Π°Π΄. — 50 ΠΊΠΌ/Ρ‡.

2.2 Атрибуты ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса. UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°

Богласно ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ класс wind, содСрТащий Π΄Π²Π° поля Ρ‚ΠΈΠΏΠ° int (Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π²Π΅Ρ‚Ρ€Π° соотвСтствСнно), константныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ характСристик Π²Π΅Ρ‚Ρ€Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ (dd-V), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ характСристики Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ значСния ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… скорости. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ конструкторами: ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (присваиваСт полям Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ значСния), с Π΄Π²ΡƒΠΌΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ ООП являСтся инкапсуляция ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сокрытия Π΄Π°Π½Π½Ρ‹Ρ…. Π’. Π΅. Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹ ΠΎΡ‚ Π½Π΅ΡΠ°Π½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ доступа. Бтатус доступа опрСдСляСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ словами: public (общСдоступный), private (Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ), protected — (Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ элСмСнты класса ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ статус доступа.

Если ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ встраиваСмыми. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ лишь ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса, Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π²Π½Π΅ Π΅Π³ΠΎ.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2 прСдставлСна UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ класса wind.

Рисунок 1 — UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° класса wind

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡŽ класса Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΎΠΊΠ½ΠΎΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° C++ Builder. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° Π² C++ Builder ΠΏΡ€ΠΈ просмотрС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ страницы, Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части ΠΎΠΊΠ½Π°. Π”Π²Π΅ ΠΈΠ· Π½ΠΈΡ… ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ ΠΊΠΎΠ΄Ρ‹ Ρ„Π°ΠΉΠ»Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (kursOOP1. cpp) ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (kursOOP1. h). Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Diagram позволяСт ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΎΠΊΠ½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° отобраТаСтся имя Ρ„Π°ΠΉΠ»Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°ΡƒΡ†ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ модуля, с Ρ‚Скстом ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Π—Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΎΠΊΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ модуля Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Ссли Π² Π²Π°ΡˆΠ΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ нСсколько ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Если Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΈΠ· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π²Π°ΠΌ большС Π½Π΅ Π½ΡƒΠΆΠ΅Π½, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ страницы, Π²Ρ‹Π±Ρ€Π°Π² Π² ΠΊΠΎΠ½Ρ‚Скстном мСню ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ClosePage. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΠΌΠΈ модулями ΠΈΠ»ΠΈ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ модуля. Π’ Π½ΠΈΠΆΠ½Π΅ΠΉ части ΠΎΠΊΠ½Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΡƒΡŽ для тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² строку состояния. Π’ ΡΠ°ΠΌΠΎΠΉ Π»Π΅Π²ΠΎΠΉ Π΅Π΅ Ρ‡Π°ΡΡ‚ΠΈ находится ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ строки ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. ΠŸΡ€Π°Π²Π΅Π΅ располоТСн ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ словом Modified ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² ΠΎΠΊΠ½Π΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ‚ с Ρ‚Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ хранится Π½Π° Π΄ΠΈΡΠΊΠ΅. Π’ ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Ρ‚Π°ΠΊΠΆΠ΅ встроСна контСкстная справка, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, достаточно ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ курсор Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅Π΅ вас слово ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F1.

Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ класса.

Поля:

ПолС dd Ρ‚ΠΈΠΏΠ° int. ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ΅Ρ‚ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ направлСния (0?

ПолС V Ρ‚ΠΈΠΏΠ° int. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ модуля скорости Π²Π΅Ρ‚Ρ€Π° (V ΠΊΠΌ/час).

Π”Π°Π½Π½Ρ‹Π΅ поля ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ доступа private, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ скрытыми.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ wind (). ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса нулями.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ wind (int dd1, int V1). Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ поля класса двумя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ соотвСтствСнно.

ΠœΠ΅Ρ‚ΠΎΠ΄ ShowWind. ЯвляСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Ρ‚ΠΈΠΏΠ° String, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅ΠΉ строку, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ значСния ΠΏΠΎΠ»Π΅ΠΉ dd ΠΈ V ΡΠΎΠΎΡ‚вСтствСнно, ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽ Π²ΠΈΠ΄: dd Π³Ρ€Π°Π΄. — V ΠΊΠΌ/Ρ‡" (значСния ΠΏΠΎΠ»Π΅ΠΉ dd ΠΈ V ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ пСрСводятся Π² Ρ‚ΠΈΠΏ String).

ΠœΠ΅Ρ‚ΠΎΠ΄ ShowDirect. ЯвляСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Ρ‚ΠΈΠΏΠ° int, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля dd (Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅).

ΠœΠ΅Ρ‚ΠΎΠ΄ ShowSpeed (). ЯвляСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Ρ‚ΠΈΠΏΠ° int, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля V (ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ).

ΠœΠ΅Ρ‚ΠΎΠ΄ Components. ЯвляСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Ρ‚ΠΈΠΏΠ° void. ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ΅Ρ‚ вычислСниС ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… скорости u ΠΈ v. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: w (Ρ‚ΠΈΠΏ wind) — пСрСмСнная, ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡΠΌ ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ вычислСниС характСристик, v (ссылка Π½Π° Ρ‚ΠΈΠΏ float) — Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ v, u (ссылка Π½Π° Ρ‚ΠΈΠΏ float) — Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ u. Π’Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ доступа public, Ρ‚. Π΅. ΡΠ²Π»ΡΡŽΡ‚ΡΡ общСдоступными.

2.3 ОписаниС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ VCL

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ StringGrid.

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

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ StringGrid ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ для отобраТСния Ρ‚Π°Π±Π»ΠΈΡ† тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ свойства:

System: AnsiString Cells [int ACol] [int ARow] - строка, содСрТащаяся Π² ΡΡ‡Π΅ΠΉΠΊΠ΅ с ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ столбца ΠΈ ΡΡ‚Ρ€ΠΎΠΊΠΈ ACol ΠΈ ARow.

Classes: TString*Cols [int Index] - список строк ΠΈ ΡΠ²ΡΠ·Π°Π½Π½Ρ‹Ρ… с Π½ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², содСрТащихся Π² ΡΡ‚ΠΎΠ»Π±Ρ†Π΅ с ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ Index.

Classes: TStrings*Rows [int Index] - список строк ΠΈ ΡΠ²ΡΠ·Π°Π½Π½Ρ‹Ρ… с Π½ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², содСрТащихся Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ с ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ Index.

System: TObject*Objects [int ACol] [int ARow] - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, связанный со ΡΡ‚Ρ€ΠΎΠΊΠΎΠΉ, содСрТащСйся Π² ΡΡ‡Π΅ΠΉΠΊΠ΅ с ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ столбца ΠΈ ΡΡ‚Ρ€ΠΎΠΊΠΈ ACol ΠΈ ARow.

ColCount — количСство ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

RowCount — количСство строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

FixedCols — количСство зафиксированных слСва ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ЗафиксированныС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΈ ΠΏΡ€ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π° ΠΌΠ΅ΡΡ‚Π΅.

FixedRows — количСство зафиксированных свСрху строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ЗафиксированныС строки Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΈ ΠΏΡ€ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π° ΠΌΠ΅ΡΡ‚Π΅.

Options. goEditing — ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ допустимости рСдактирования содСрТимого ячССк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. True — Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ, False — Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ.

Options. goTab — ΠΎΠ°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ (True) ΠΈΠ»ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ (False) использованиС клавиши <οΏ½Π’Π°b> для пСрСмСщСния курсора Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ячСйку Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Options. GoAlways-ShowEditor — ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ нахоТдСния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ рСдактирования. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства False, Ρ‚ΠΎ Π΄Π»Ρ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΡΡ‡Π΅ΠΉΠΊΠ΅ появился курсор, Π½Π°Π΄ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ тСкст, Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΌΡ‹ΡˆΡŒΡŽ.

DefaultColWidth — ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

DefaultRowHeight — высоту строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

GridLineWidth — ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π»ΠΈΠ½ΠΈΠΉ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ячСйки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Left — расстояниС ΠΎΡ‚ Π»Π΅Π²ΠΎΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ поля Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄ΠΎ Π»Π΅Π²ΠΎΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Ρ„ΠΎΡ€ΠΌ.

Top — расстояниС ΠΎΡ‚ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ поля Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹.

Height — высоту поля Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Width — ΡˆΠΈΡ€ΠΈΠ½Ρƒ поля Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Font — ΡˆΡ€ΠΈΡ„Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для отобраТСния содСрТимого ячССк Ρ‚Π°Π±Π»ΠΈΡ†.

ParentFont — ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ наслСдования характСристик ΡˆΡ€ΠΈΡ„Ρ‚Π° Ρ„ΠΎΡ€ΠΌΡ‹.

ВсС Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ свойства доступны Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния. Π—Π°Π΄Π°Π²Π°Ρ‚ΡŒ тСксты ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ячСйкам, ΠΈΠ»ΠΈ сразу ΠΏΠΎ ΡΡ‚ΠΎΠ»Π±Ρ†Π°ΠΌ ΠΈ ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса TString.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Edit ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π²Π²ΠΎΠ΄ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ однострочных тСкстов. Π’Π²ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ тСкст содСрТится Π² ΡΠ²ΠΎΠΉΡΡ‚Π²Π΅ Text Ρ‚ΠΈΠΏΠ° AnsiString. Π­Ρ‚ΠΎ свойство ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ проСктирования ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Label ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ тСкста, Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Никакого оформлСния, ΠΊΡ€ΠΎΠΌΠ΅ Ρ†Π²Π΅Ρ‚Π° тСкста. Π­Ρ‚ΠΎ свойство ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ проСктирования ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ. ОсновноС свойство — Caption.

2.4 ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ дСкомпозиция

Для создания Windows-прилоТСния Π² ΡΡ€Π΅Π΄Π΅ C++ Builder 6.0 Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΉΡ‚ΠΈ Π² ΠΌΠ΅Π½ΡŽ File, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ сроку New, Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠΈΠΌΡΡ спискС Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„Ρƒ Application. ПослС ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… дСйствий ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ появляСтся Windows-Ρ„ΠΎΡ€ΠΌΠ°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.

Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части экрана ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ панСль, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ располоТСны ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ VCL. Π©Π΅Π»ΠΊΠ½Π΅ΠΌ ΠΏΠΎ ΡΡ‚Ρ€Π°Π½ΠΈΡ†Π΅ Standart, Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Ρ‚Π°ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ GroupBox. Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Windows-Ρ„ΠΎΡ€ΠΌΡ‹. Π’ Π½ΠΈΠΆΠ½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ экрана ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ инспСктор ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² обСспСчиваСт простой ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс для измСнСния свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² C++ Builder ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ событиями, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Окно инспСктора ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ страницы. Π’Ρ‹ΡˆΠ΅ ΠΈΡ… ΠΈΠΌΠ΅Π΅Ρ‚ся Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Ρ… Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅. Π’ Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, свойства ΠΈ ΡΠΎΠ±Ρ‹Ρ‚ия ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ вас ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° свойств (Properties) инспСктора ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ свойства Ρ‚ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ Π²Π°ΠΌΠΈ. Π’Ρ‹Π΄Π΅Π»ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ GroupBox1, Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠΈΠΌΡΡ ΠΏΠ΅Ρ€Π΅Ρ‡Π½Π΅ свойств Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ свойство Caption (надпись Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°), присвоим Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π”Π°Π»Π΅Π΅ помСстим Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Button (ΠΊΠ½ΠΎΠΏΠΊΠ°), Π² ΡΠ²ΠΎΠΉΡΡ‚Π²Π΅ Caption напишСм «Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ» .

Π’Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ StringGrid. Π’ Π΅Π³ΠΎ свойствС ColCount (количСство столбцов) ΡƒΠΊΠ°ΠΆΠ΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2, Π² ΡΠ²ΠΎΠΉΡΡ‚Π²Π΅ RowCount (количСство строк) ΡƒΠΊΠ°ΠΆΠ΅ΠΌ 10, Π° ΡΠ²ΠΎΠΉΡΡ‚Π²Ρƒ FixedRows (фиксированныС строки) присвоим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2. Π”Π°Π»Π΅Π΅ помСстим Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΠΎ Ρ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Edit ΠΈ Label.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° схСма Ρ„ΠΎΡ€ΠΌΡ‹ Form1.

Рисунок 2 — схСма Ρ„ΠΎΡ€ΠΌΡ‹ Form1

Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° событий (Events) составляСт Π²Ρ‚ΠΎΡ€ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ инспСктора ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². На Π½Π΅ΠΉ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ всС события, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ дСйствия Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания Ρ„ΠΎΡ€ΠΌΡ‹, трСбуСтся Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ событиС OnCreate. Рядом с ΠΈΠΌΠ΅Π½Π΅ΠΌ этого события откроСтся ΠΎΠΊΠ½ΠΎ с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ списком. Если Π²Ρ‹ ΡƒΠΆΠ΅ написали Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈ ΠΏΡ€ΠΈ Π΄Π°Π½Π½ΠΎΠΌ событии ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ…, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠ· Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка. Если ΠΆΠ΅ Π²Π°ΠΌ Π½Π°Π΄ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Ρ‚ΠΎ ΡΠ΄Π΅Π»Π°ΠΉΡ‚Π΅ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ Π½Π° ΠΏΡƒΡΡ‚ΠΎΠΌ ΠΎΠΊΠ½Π΅ списка. Π’Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚Π΅ Π² ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ тСкст:

void __fastcall TForm1: FormCreate (TObject *Sender)

{ }

ΠšΡƒΡ€ΡΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ располоТСн Π² ΠΏΡƒΡΡ‚ΠΎΠΉ строкС ΠΌΠ΅ΠΆΠ΄Ρƒ строками с ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉΡΡ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками. Π£Π²ΠΈΠ΄Π΅Π½Π½Ρ‹ΠΉ Π²Π°ΠΌΠΈ ΠΊΠΎΠ΄ — это Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ автоматичСски сдСлал C++ Builder. Π’Π°ΠΌ остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ скобками «{» ΠΈ «}» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹.

Рассмотрим ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий, прСдставлСнныС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅:

FormCreate. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ OnCreate ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ дСйствия Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ создании Ρ„ΠΎΡ€ΠΌΡ‹ Form1. Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ этом дСйствия: ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π·Π½Π°ΠΊΠ° косвСнной адрСсации обратщаСмся ΠΊ ΡΠ²ΠΎΠΉΡΡ‚Π²Ρƒ Cells ячССк ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ столбцов ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° stringGrid1 (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ столбцов) ΠΈ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ «ΠΠ°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π³Ρ€Π°Π΄.» ΠΈ «Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ», свойству RowCount присваиваСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ константы n=10, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π²ΡƒΡ… Ρ†ΠΈΠΊΠ»ΠΎΠ² for обращаСмся ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйкС ΠΈ ΡƒΠ΄Π°Π»ΡΠ΅ΠΌ ΠΈΠ· Π½Π΅Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

Button1Click. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ OnClick ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΌΡ‹ΡˆΡŒΡŽ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ этом дСйствия: Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° for ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅ΠΌ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ массива array элСмСнтами Ρ‚ΠΈΠΏΠ° wind (полям i-Ρ‚ΠΎΠ³ΠΎ элСмСнта присваиваСм ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ конструктора случайныС значСния), записываСм значСния ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² ΡΡ‡Π΅ΠΉΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ StringGrid1 (Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² 0-ΠΎΠΉ столбСц ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ShowDirect, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π² 1-Ρ‹ΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ShowSpeed).

StringGrid1SelectCell. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ OnSelectCell ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΌΡ‹ΡˆΡŒΡŽ ΠΏΠΎ ΡΡ‡Π΅ΠΉΠΊΠ΅ с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ столбца — ACol, строки — ARow. Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ этом дСйствия: строкС Edit1. Text присваиваСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ ARow-1 ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ShowWind (Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° wind Π² Π²ΠΈΠ΄Π΅ строки Ρ‚ΠΈΠΏΠ° String), вычисляСм ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Components значСния ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… скорости, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ (ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π² Ρ‚ΠΈΠΏ String ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ FloatToString) Π½Π° ΡΠΊΡ€Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Edit2 ΠΈ Edit3.

Π’Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Π°Ρ схСма ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ взаимодСйствия Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈ условии ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… дСйствий. ΠŸΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ ΠΌΡ‹ΡˆΡŒΡŽ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ «Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ массив» происходит Π²Π²ΠΎΠ΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтов массива array Π² ΡΡ‡Π΅ΠΉΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ StringGrit1. ΠŸΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ячСйки Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ производится Π²Ρ‹Π²ΠΎΠ΄ значСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта массива Π½Π° ΡΠΊΡ€Π°Π½ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Edit1 ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… скорости ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Edit2 ΠΈ Edit3.

3. ОписаниС ПО

3.1 Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для дСмонстрации использования класса wind, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²Π΅Ρ‚Ρ€ΠΎΠ²ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ.

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ — массив array, значСния ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… v ΠΈ u.

БистСмныС трСбования: Pentium 300, 128 Мб RAM.

ЗапуститС Ρ„Π°ΠΉΠ» ProjectOOP. exe. ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ появится ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (см. Ρ€ΠΈΡΡƒΠ½ΠΎΠΊ 1 прилоТСния 2), состоящСС ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ» ΠΈ Ρ‚Ρ€Π΅Ρ… строк — «Π₯арактСристики Π²Π΅Ρ‚Ρ€Π°», «Π‘ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ скорости v», «Π‘ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ скорости u». Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ случайными значСниями Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ». Π’Π°Π±Π»ΠΈΡ†Π° Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½Π° ΡΠΊΡ€Π°Π½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠ³Π»Π°, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚Ρ€Π° (ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ столбСц Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹) ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π²Π΅Ρ‚Ρ€Π° (Π²Ρ‚ΠΎΡ€ΠΎΠΉ столбСц) — значСния элСмСнтов массива ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° wind (см. Ρ€ΠΈΡΡƒΠ½ΠΎΠΊ 2 прилоТСния 2). ΠŸΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ячСйки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ «Π₯арактСристики Π²Π΅Ρ‚Ρ€Π°» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ характСристик Π²Π΅Ρ‚Ρ€Π° Π² Π²ΠΈΠ΄Π΅ dd-V, строки «Π‘ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ скорости v» ΠΈ «Π‘ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ скорости u» Π²Ρ‹Π²Π΅Π΄ΡƒΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ значСния ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… скорости для Π΄Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта массива (см. Ρ€ΠΈΡΡƒΠ½ΠΎΠΊ 3 прилоТСния 2).

3.2 Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ПослС запуска Ρ„Π°ΠΉΠ»Π° ProjectOOP. exe Π½Π° ΡΠΊΡ€Π°Π½Π΅ появилось ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (см. Ρ€ΠΈΡΡƒΠ½ΠΎΠΊ 1 прилоТСния 2). ПослС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ массив» ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ элСктронной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ StringGrid Π±Ρ‹Π»ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ значСния элСмСнтов массива: ΠΏΠΎΠ»Π΅ dd (Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚Ρ€Π°) — Π² Π»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅, ΠΏΠΎΠ»Π΅ V (ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ) — Π² ΠΏΡ€Π°Π²ΠΎΠΉ (см. Ρ€ΠΈΡΡƒΠ½ΠΎΠΊ 2 прилоТСния 2). ΠŸΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ячСйки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ «Π₯арактСристики Π²Π΅Ρ‚Ρ€Π°» Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π²ΠΈΠ΄Π΅ dd-V. Π’ ΡΡ‚Ρ€ΠΎΠΊΠ°Ρ… «Π‘ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ скорости u» ΠΈ «Π‘ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ скорости v» Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ значСния ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… скорости (см. Ρ€ΠΈΡΡƒΠ½ΠΎΠΊ 3 прилоТСния 2). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ значСния элСмСнтов массива ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… класса wind Π½Π° ΡΠΊΡ€Π°Π½, вычисляСт значСния ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… скорости для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° классов являСтся основой построСния слоТных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… комплСксов. Навыки, ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Π½Ρ‹Π΅ мною Π² Ρ…ΠΎΠ΄Π΅ выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ курсовых ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

спроСктирован класс wind, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π²Π΅Ρ‚Ρ€ΠΎΠ²ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ,

построСна UML — Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° класса,

написан ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования C++ Π² ΡΡ€Π΅Π΄Π΅ программирования C++Buiilder 6/0 Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΊΠ»Π°ΡΡΠΎΠΌ wind,

Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ руководство ΠΏΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1

ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Код Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (kursOOP1. h):

// —————————————————————————————————————;

#ifndef kursOOP1H

#define kursOOP1H

// —————————————————————————————————————;

#include

#include

#include

#include

#include

// —————————————————————————————————————;

class TForm1: public TForm

{

__published: // IDE-managed Components

TStringGrid *StringGrid1;

TGroupBox *GroupBox1;

TButton *Button1;

TEdit *Edit1;

TLabel *Label1;

TEdit *Edit2;

TLabel *Label2;

TEdit *Edit3;

TLabel *Label3;

void __fastcall FormCreate (TObject *Sender);

void __fastcall Button1Click (TObject *Sender);

void __fastcall StringGrid1SelectCell (TObject *Sender, int ACol,

int ARow, bool &CanSelect);

private: // User declarations

public: // User declarations

__fastcall TForm1 (TComponent* Owner);

};

// —————————————————————————————————————;

extern PACKAGE TForm1 *Form1;

// —————————————————————————————————————;

#endif

Код Ρ„Π°ΠΉΠ»Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (kursOOP1. cpp):

// —————————————————————————————————————;

#include

#pragma hdrstop

#include «kursOOP1. h»

#include

#include

#include

#include

// —————————————————————————————————————;

#pragma package (smart_init)

#pragma resource «*. dfm»

class wind

{

private: int dd;

int V;

public:

wind (): dd (0), V (0) {};

wind (int dd1, int V1): dd (dd1), V (V1) {};

String ShowWind () const

{

return IntToStr (dd) +" Π³Ρ€Π°Π΄. — «+IntToStr (V) +» ΠΊΠΌ/Ρ‡" ;

}

int ShowDirect () const

{return dd;

}

int ShowSpeed () const

{return V;

}

void Components (wind w, float&v, float&u) const

{v=V*sin (dd);

u=V*cos (dd); }

};

TForm1 *Form1;

const n=10;

wind array [n]; float v, u;

// —————————————————————————————————————;

__fastcall TForm1: TForm1 (TComponent* Owner)

: TForm (Owner)

{

}

// —————————————————————————————————————;

void __fastcall TForm1: FormCreate (TObject *Sender)

{

StringGrid1->Cells [0] ="НаправлСниС Π² Π³Ρ€Π°Π΄. «;

StringGrid1->Cells [0] ="Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ" ;

StringGrid1->RowCount=n;

for (int j=0; j<2; j++)

{for (int i=1; i

{StringGrid1->Cells [j] [i] =""; }}

}

// —————————————————————————————————————;

void __fastcall TForm1: Button1Click (TObject *Sender)

{

for (int i=0; i

{array [i] =wind (random (360), random (250));

StringGrid1->Cells [i+1] =array [i]. ShowDirect ();

StringGrid1->Cells [i+1] =array [i]. ShowSpeed (); }

}

// —————————————————————————————————————;

void __fastcall TForm1: StringGrid1SelectCell (TObject *Sender, int ACol,

int ARow, bool &CanSelect)

{

Edit1->Text=array [ARow-1]. ShowWind ();

array [ARow-1]. components (array [ARow-1], v, u);

Edit2->Text=FloatToStr (v);

Edit3->Text=FloatToStr (u);

}

// —————————————————————————————————————;

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстирования

Рис. 1 — ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Рис. 2 — Π²Ρ‹Π²ΠΎΠ΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтов массива Π½Π° ΡΠΊΡ€Π°Π½ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ StringGrid1

Рис. 3 — Π²Ρ‹Π²ΠΎΠ΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ характСристик Π²Π΅Ρ‚Ρ€Π° Π² Π²ΠΈΠ΄Π΅ dd-V ΠΈ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… скорости

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ