Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ
ΠΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π°. ΠΠΎΡΡΠΎΠΌΡ, Π²ΡΠ·ΡΠ²Π°Ρ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° (ΡΠΎΡΠΊΡ ΠΈΠ»ΠΈ ΡΡΡΠ΅Π»ΠΊΡ). ΠΠΎΡΡΡΠΏ ΠΊ Π·Π°ΠΊΡΡΡΡΠΌ ΡΠ»Π΅Π½Π°ΠΌ ΠΊΠ»Π°ΡΡΠ° Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΠΈΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΌΠ°ΡΡΠΈΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊ ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ — Π²Π°ΠΆΠ½Π°Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ»ΡΡΠΈΠ΅ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΡΠΎΡΡΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΏΡΠΎΡΡΡΠΌΠΈ.
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Π»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅Π΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ±ΡΠ°Π½Π° MSVisualStudio 2008 ΠΈ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++.
1. ΠΠ΅ΠΊΡΠΎΡ ΠΠ°ΡΡΠΈΡΠ° ΡΠΎΡΡΠΎΡΡΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ. Π Π°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡΡ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΡΠ»ΠΎ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
1.1 Π‘ΡΠΌΠΌΠ° Π΄Π²ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² ΠΡΡΡΡ Π² Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ Π²Π΅ΠΊΡΠΎΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ°ΠΊ:
Π’ΠΎΠ³Π΄Π° ΡΡΠΌΠΌΠΎΠΉ Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²Π΅ΠΊΡΠΎΡ:
1.2 Π Π°Π·Π½ΠΎΡΡΡ Π΄Π²ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² ΠΡΡΡΡ Π² Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ Π²Π΅ΠΊΡΠΎΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ°ΠΊ:
Π’ΠΎΠ³Π΄Π° ΡΠ°Π·Π½ΠΎΡΡΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²Π΅ΠΊΡΠΎΡ:
1.3 ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π° ΡΠΈΡΠ»ΠΎ ΠΡΠ»ΠΈ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ x ΠΈ Π²Π΅ΠΊΡΠΎΡ .
Π’ΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π° ΡΠΈΡΠ»ΠΎ x Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²Π΅ΠΊΡΠΎΡ
1.4 Π‘ΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π‘ΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² ΠΈ, Π·Π°Π΄Π°Π½Π½ΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΎ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Ρ .
2. ΠΠ»Π°ΡΡΡ ΠΠ»Π°ΡΡ — ΡΡΠΎ ΡΠΈΠΏ ΡΡΡΡΠΊΡΡΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ (ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ).
ΠΠ»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΊΠ»Π°ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π΄ΠΎΡΡΡΠΏΠ°:
public — ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π΄ΠΎΡΡΡΠΏΠ° Π½Π΅Ρ;
protected — Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ ;
private — Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅.
2.1 ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΈ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΡ ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² ΠΊΠ»Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Vector (int sz)
Π’Π°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ ΠΈ ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΄Π°Π½Π½ΡΡ . ΠΠΌΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ return. Π’ΠΈΠΏ Π΅Π³ΠΎ ΡΠ²Π½ΠΎ Π½Π΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ².
~Vector () — ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ. ΠΠ½ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠΎ Π΅ΡΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ Π² ΠΊΡΡΠ΅.
ΠΠ΅ΡΡΡΡΠΊΡΠΎΡ, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ²Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠ°. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠ»Π°ΡΡΠ°, Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
Vector (const Vector &A)Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ ΠΊΠΎΠΏΠΈΠΉ. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ°.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠΎΠΏΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ return. ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΡΡΠ»ΠΎΠΊ ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠΎΠΏΠΈΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
ΠΠ΅ΡΠ²Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ. Π’Π°ΠΊΠΎΠΉ Π²ΠΈΠ΄ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ½ΡΠΌ.
2.2 ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ·ΡΠΊΠ° Π‘++ Π΄Π»Ρ Π½ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½ΠΎ. ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, ΡΠΎΡΡΠΎΡΡΠΈΠΌ ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° operator ΠΈ Π·Π½Π°ΠΊΠ° ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΌ, ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΡΠ½Π°Ρ ΠΈΠ»ΠΈ Π΄Π²ΡΡ ΠΌΠ΅ΡΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°Π΅ΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ Π½Π΅ΡΠ²Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°.
ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ·ΡΠΊ Π΄Π²ΡΡ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ operator+.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ new ΠΈ delete, Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄ΡΠΈΠ½ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ:
— ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π»ΠΈΠ±ΠΎ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ-ΡΠ»Π΅Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°, Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΈΠΏΠ° ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΈΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΡΠΈΠΏ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌΡΠΉ ΡΠΈΠΏ;
— ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΈΡΠ»ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ ;
— ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½Π°Ρ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²; Π΅ΡΠ»ΠΈ ΠΆΠ΅ ΠΎΠ½Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ;
— ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ Π΄Ρ.
2.3 ΠΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π‘++ ΡΡΠ½ΠΊΡΠΈΡ, Π½Π΅ ΡΠ²Π»ΡΡΡΠ°ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΅Π³ΠΎ Π·Π°ΠΊΡΡΡΡΠΌ (private) ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ. Π ΡΠ·ΡΠΊΠ΅ Π‘++ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΠΎΠΉΡΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΡΡΠ·Π΅ΠΉ. Π‘++ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ 2 Π²ΠΈΠ΄Π° Π΄ΡΡΠ·Π΅ΠΉ ΠΊΠ»Π°ΡΡΠ°: Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ. ΠΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ»Π΅Π½Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°, Π½ΠΎ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΅Π³ΠΎ Π·Π°ΠΊΡΡΡΡΠΌ ΡΠ»Π΅Π½Π°ΠΌ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΎΠ΄Π½Π° ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π°ΠΊΡΡΡΡΠΌ ΡΠ»Π΅Π½Π°ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ². Π§ΡΠΎΠ±Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ, Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΅Π΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏ, ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠ°Π²ΠΈΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ friend.
friend ostream&operator<<(ostream& os, const Vector& A)
ΠΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π°. ΠΠΎΡΡΠΎΠΌΡ, Π²ΡΠ·ΡΠ²Π°Ρ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° (ΡΠΎΡΠΊΡ ΠΈΠ»ΠΈ ΡΡΡΠ΅Π»ΠΊΡ). ΠΠΎΡΡΡΠΏ ΠΊ Π·Π°ΠΊΡΡΡΡΠΌ ΡΠ»Π΅Π½Π°ΠΌ ΠΊΠ»Π°ΡΡΠ° Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΠΈΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π΅ΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½Π° ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΊΠ»Π°ΡΡΠ°ΠΌ.
2.4 ΠΠ΅ΡΠ²Π½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ this
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°:
ΠΈΠΌΡ_ΡΠΈΠΏΠ° *this;
ΠΡΠΎΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π°Π΄ΡΠ΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ» Π²ΡΠ·Π²Π°Π½ ΠΌΠ΅ΡΠΎΠ΄.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ this Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Π²ΡΡΠ΄ Π»ΠΈ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΠΈ ΡΠ°ΠΊ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π―Π²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ this Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
#include" stdafx. h"
#include
#include" conio. h"
#include" time. h"
using namespace std;
// ΠΠΠΠ‘Π‘ Vector
class Vector
{
public:
double *V;
int sz; // ΡΠΈΡΠ»ΠΎ ΡΡΡΠΎΠΊ
public:
// ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
Vector ();
// ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
Vector (int sz);
// ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠΎΠΏΠΈΠΉ
Vector (const Vector &A);
// Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ
void SetVector ();
// ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ
Vector&operator=(Vector &A);
// ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Vector operator+(Vector &);
// ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΡΡΠΈΡΠ°Π½ΠΈΡ
Vector operator-(Vector &);
// ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠΈΡΠ»ΠΎ
Vector operator*(const int&);
// ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π° Π²Π΅ΠΊΡΠΎΡ
Vector operator*(Vector &);
// ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΡΠ²ΠΎΠ΄Π° Π² ΠΏΠΎΡΠΎΠΊ
friend ostream&operator<<(ostream& os, const Vector& A);
// Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ
~Vector ();
};
// ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
Vector:Vector ()
{
V = NULL;
}
// ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
Vector:Vector (int _sz)
{
sz = _sz;
V = new double [sz];
for (int i = 0; i < sz; i++)
V[i] = 0;
}
// ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠΎΠΏΠΈΠΉ
Vector:Vector (const Vector &A)
{
sz = A. sz;
V = new double [sz];
for (int i = 0; i < sz; i++)
V[i] = A. V[i];
}
// ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ
void Vector: SetVector ()
{
for (int i = 0; i < sz; i++)
{
V[i]=(double)((rand ()%200)-100.0);
}
}
// ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ
Vector& Vector: operator =(Vector &A)
{
if (V≠NULL)
{
delete[] V;
}
V = new double [sz];
sz = A. sz;
for (int i = 0; i < sz; i++)
V[i] = A. V[i];
return *this;
}
// Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠΎΠ²
Vector Vector: operator+(Vector &A)
{
Vector temp (sz);
if (sz≠A.sz)
{
cout<<" Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. n"
" Π Π°Π·ΠΌΠ΅ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ! n"
" ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°Π²Π΅ΡΡΠΈΠ»Π° ΡΠ°Π±ΠΎΡΡ. n" ;
exit (0);
}
else
{
for (int i = 0; i < sz; i++)
temp.V[i] = V[i] + A. V[i];
return temp;
}
}
// ΠΡΡΠΈΡΠ°Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠΎΠ²
Vector Vector: operator-(Vector &A)
{
Vector temp (sz);
if (sz≠A.sz)
{
cout<<" Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. n"
" Π Π°Π·ΠΌΠ΅ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ! n"
" ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°Π²Π΅ΡΡΠΈΠ»Π° ΡΠ°Π±ΠΎΡΡ. n" ;
exit (0);
}
else
{
for (int i = 0; i < sz; i++)
temp.V[i] = V[i] - A. V[i];
return temp;
}
}
// Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π° ΡΠΈΡΠ»ΠΎ
Vector Vector: operator*(const int&k)
{
Vector temp (sz);
for (int i = 0; i < sz; i++)
temp.V[i] = V[i]*k;
return temp;
}
// Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π° Π²Π΅ΠΊΡΠΎΡ
Vector Vector: operator*(Vector &A)
{
Vector temp (1);
for (int i = 0; i < sz; i++)
temp.V[0] += V[i] * A. V[i];
return temp;
}
// ΠΠ΅ΡΡΡΡΠΊΡΠΎΡ
Vector:~Vector ()
{
delete[] V;
}
// ΠΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠ²ΠΎΠ΄Π°
ostream&operator<<(ostream& os, const Vector& A)
{
os << 'n';
for (int i = 0; i < A. sz; i++)
{
os << A. V[i] << «t» ;
}
return os;
}
int _tmain (int argc, _TCHAR* argv[])
{
setlocale (LC_CTYPE, «Russian_Russia.1251»);
srand ((unsigned)time (NULL));
int k, l, m, x;
int numb;
cout << «ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ²: «<< endl;
cout << «tΠΠ΅ΡΠ²ΡΠΉ Π²Π΅ΠΊΡΠΎΡ: «;
cin >> k;
cout << endl << «tΠΡΠΎΡΠΎΠΉ Π²Π΅ΠΊΡΠΎΡ: «;
cin >> l;
cout << endl << «tΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ: » ;
cin >> x;
if (k == l)
m = k;
else
{
cout << «Π Π°Π·ΠΌΠ΅ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ» ;
_getch ();
return 0;
}
Vector v (k), s (l), res (m);
v.SetVector ();
s.SetVector ();
cout << endl << v << endl;
cout << s << endl;
cout << «nΠΡΠ±Π΅ΡΠ΅ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ:» ;
cout << «nΠ‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² № 1» ;
cout << «nΠ Π°Π·Π½ΠΎΡΡΡ Π΄Π²ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² № 2» ;
cout << «nΠ£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² № 3» ;
cout << «nΠ£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π° ΡΠΈΡΠ»ΠΎ № 4» ;
cout << «nΠΡΡ ΠΎΠ΄ — Π²Π²Π΅Π΄ΠΈΡΠ΅ 0n» ;
cin >> numb;
cout << endl;
if (numb == 0)
return 0;
else
{
switch (numb)
{
case 1:
{
res = v + s;
cout << «Π Π΅Π·ΡΠ»ΡΡΠ°Ρt» << res << endl;
break;
}
case 2:
{
res = v — s;
cout << «Π Π΅Π·ΡΠ»ΡΡΠ°Ρt» << res << endl;
break;
}
case 3:
{
res = v * s;
cout << «Π Π΅Π·ΡΠ»ΡΡΠ°Ρt» << res << endl;
break;
}
case 4:
{
res = v * x;
cout << «Π Π΅Π·ΡΠ»ΡΡΠ°Ρt» << res << endl;
break;
}
}
_getch ();
}
return 0;
}
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ
3. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π² Mathcad
Π‘ΡΠΌΠΌΠ° Π΄Π²ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ²
Π Π°Π·Π½ΠΎΡΡΡ Π΄Π²ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π‘ΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π° ΡΠΈΡΠ»ΠΎ
1. ΠΡeΡΠ½ Π‘ΡΡΠ°ΡΡΡΡΡΠΏ. Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ C++, 1995
2. ΠΠ»ΡΡΠ°ΠΊΠΎΠ² Π‘. Π. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π‘++, ΠΈΠ·Π΄.2-Π΅, Π΄ΠΎΠΏ. ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡ. — Π.:ΠΠ‘Π’, 2008. — 685 Ρ.
3. Π₯Π°ΡΠ²ΠΈ ΠΠ΅ΠΉΡΠ΅Π», ΠΠΎΠ» ΠΠ΅ΠΉΡΠ΅Π». ΠΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π‘. — ΠΠΈΠ½ΠΎΠΌ-ΠΡΠ΅ΡΡ, 2008. — 1024 Ρ.