ΠΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡΡ.
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ: Item2 ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΡΠΎ ΠΈ Item1. ΠΠΎ Π²ΡΠΎΡΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Item1 ΠΏΠΎΠ»ΡΡΠ΅Π½ ΡΠ΅ΡΠ΅Π· ΡΡΠΎΡ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΡΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ: ΠΎΠ±ΡΠ΅ΠΊΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π»Π° ΡΡΡΠ»ΠΊΠ° Item2, Π½Π΅ ΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½ΠΈ ΠΏΡΡΠΌΠΎ, Π½ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ ΠΈ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Π°. ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΊΠ°Π·Π°Π½Ρ Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ const. ΠΠ½ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡΡ. ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡΡ — ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΎΡ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΡΠΌΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡ ΠΈΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ.
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΠΎΡΠΊΡ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ.
struct Point {.
int Ρ ; // ΠΏΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°.
int Ρ; // Π²ΡΠΎΡΠ°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°.
Point (void); // ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (0,0).
Point (int xValue, int yValue); // ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
};
ΠΠ°ΡΠ° Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Point — ΡΡΠΎ ΠΏΠ°ΡΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ (Ρ , Ρ). ΠΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ Π΄Π²Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°: ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠΎΡΠΊΡ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ, Π° Π΄ΡΡΠ³ΠΎΠΉ — Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΠΎΡΠΊΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π΄ΠΈΡΠΏΠ»Π΅Ρ (DisplayPoint). ΠΠ³ΡΠ°Π½ΠΈΡΠΈΠΌΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΊΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ Π΅Π΅ ΠΏΠΎ ΡΠΊΡΠ°Π½Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π½Π°ΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π½Π° C++:
class DisplayPoint {.
public:
DisplayPoint (); // ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (0,0).
DisplayPoint (const Point& location); // ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
~DisplayPoint (); // Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ
void draw (); // ΡΠΈΡΡΠ΅Ρ ΡΠΎΡΠΊΡ Π½Π° ΡΠΊΡΠ°Π½Π΅.
void move (const Point& location); // ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΎΡΠΊΡ.
Point location (); // Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ.
.. .
};
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΊΠ°Π·Π°Π½Ρ Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ const. ΠΠ½ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π² ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ. ΠΠΈΡΠ΅ΡΠ°Π»Ρ, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΊ const&-Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈ Π½Π΅Π»ΡΠ·Ρ — Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π΅ const &-Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ±ΡΡΠ²ΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ»Π°ΡΡΠ° DisplayPoint:
DisplayPoint Item1;
DisplayPoint * Item2 = new DisplayPoint (Point (75,75));
DisplayPoint * Item3 = new DisplayPoint (Point (100,100));
DisplayPoint * Item4 = 0;
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠ΅ΡΡΡΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΡΡΠΈ ΡΠ°Π·Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΡΠΈΡ. 3.1 Π°). Π ΠΏΠ°ΠΌΡΡΠΈ Π±ΡΠ΄ΡΡ ΠΎΡΠ²Π΅Π΄Π΅Π½Ρ ΡΠ΅ΡΡΡΠ΅ ΠΌΠ΅ΡΡΠ° ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π° Item1, Item2, Item3, Item4. ΠΡΠΈ ΡΡΠΎΠΌ Item1 Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ° DisplayPoint, Π° ΡΡΠΈ Π΄ΡΡΠ³ΠΈΡ — ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π»ΠΈΡΡ Item2 ΠΈ Item3 Π±ΡΠ΄ΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ°. Π£ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Item2 ΠΈ Item3, ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ Π½Π΅Ρ ΠΈΠΌΠ΅Π½, Ρ ΠΎΡΡ Π½Π° Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ»Π°ΡΡΡΡ «ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Ρ» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, *Item2). ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Item2 ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°, Π½Π° ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ ΡΡΡΠ»Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· *Item2.
Π£Π½ΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² (ΡΠΈΡ. 3.1, Π±):
Item1.move (Item2 -> location ());
Item4 = Item3;
Item4 -> move (Point (38, 100));
ΠΠ±ΡΠ΅ΠΊΡ Item1 ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Item2, ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΎΡΠΊΠ΅ ΡΠΊΡΠ°Π½Π°. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Item4 ΡΡΠ°Π» ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΡΠΎ ΠΈ Item3. Π₯ΠΎΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Item1 ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Item2, ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΎΠ½ΠΈ ΠΎΡΡΠ°ΡΡΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° *Item3, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π² Π΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ Item4.
Π ΠΈΡ. 3.1 ΠΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
Π‘ΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΠΈΡΠ½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ.
Π‘ΡΡΡΠΊΡΡΡΠ½Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅Ρ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π’ΡΡΠ΄Π½ΠΎΡΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½ΠΈΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡ Ρ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΠΈΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΡΠ΅ΡΠΊΠ°ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌΡ Π΄ΠΎΡΡΡΠΏΡ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ, Ρ ΡΠΆΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΡΠ΅ΠΌΠΎΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠ½ΠΈΡΡΠΎΠΆΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Item3, ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Item4 ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΡΠΌ: ΡΡΠ° ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΈΡΡΡΠ΅ΠΉ ΡΡΡΠ»ΠΊΠΎΠΉ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ (ΡΠΈΡ. 3.1, Π²):
Item2 = &Item1;
Item4 -> move (Item2 -> location ());
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ: Item2 ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΡΠΎ ΠΈ Item1. ΠΠΎ Π²ΡΠΎΡΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Item1 ΠΏΠΎΠ»ΡΡΠ΅Π½ ΡΠ΅ΡΠ΅Π· ΡΡΠΎΡ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΡΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ: ΠΎΠ±ΡΠ΅ΠΊΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π»Π° ΡΡΡΠ»ΠΊΠ° Item2, Π½Π΅ ΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½ΠΈ ΠΏΡΡΠΌΠΎ, Π½ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ ΠΈ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Π°.
Π ΡΠ·ΡΠΊΠ°Ρ ΡΠΈΠΏΠ° C++ ΡΠ°ΠΊΠ°Ρ ΠΏΠ°ΠΌΡΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠΎΠ·Π΄Π°Π²ΡΠ°Ρ ΠΎΠ±ΡΠ΅ΠΊΡ. Π’Π°ΠΊΠΈΠ΅ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·Π²Π°ΡΡ ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ, ΠΈ ΠΊΡΡΠΏΠ½ΡΠ΅ ΡΠ±ΠΎΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅ ΡΡΠ΅ΡΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΏΡΡΠ½ΠΈΠΊΠΎΠΌ. ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Π½Π° ΡΠΏΡΡΠ½ΠΈΠΊΠ΅ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°Ρ ΠΊΠΈΠ»ΠΎΠΌΠ΅ΡΡΠΎΠ² ΠΎΡ ΠΠ΅ΠΌΠ»ΠΈ ΠΎΡΠ΅Π½Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π΅Π½.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎ ΡΠΎ ΠΆΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΡΡΠΎ ΠΈ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅:
DisplayPoint (const DisplayPoint &); // ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠΏΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎ. ΠΡΠΎ ΡΠ°Π·ΡΠΌΠ½ΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°. ΠΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡΠ»ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠ°ΠΊΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΠΎΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
ΠΡΠΈΠΌΠ΅Ρ. ΠΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° DisplayPoint ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π» ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΎΡΠΊΡ:
class DisplayPoint {.
.. .
Point * DPoint.
.. .
};
.. .
DisplayPoint Item1;
.. .
DisplayPoint Item2(Item1);
ΠΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Item1 ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΈΠΏΠ° Point Ρ ΠΎΠ±ΠΎΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Item1 ΠΈ Item2 Π±ΡΠ΄ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΡΠΎΡΠΊΠΈ (ΡΠΈΡ. 3.2). Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΎΠ±Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π±ΡΠ΄ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½Ρ Π·Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΎΡΠΊΠΈ. ΠΡΠΎΠ³ΠΎ Π»ΠΈ ΠΌΡ Ρ ΠΎΡΠ΅Π»ΠΈ Π΄ΠΎΡΡΠΈΡΡ?
ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ — ΡΡΠΎ ΡΠΎΠΆΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π² C++ Π΅Π³ΠΎ ΡΠΌΡΡΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° DisplayPoint ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ:
DisplayPoint operator= (const DisplayPoint &);
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ.
Π ΠΈΡ. 3.2 ΠΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
DisplayPoint Item5;
Item5 = Item1;
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΏΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, Π΅ΡΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ²Π½ΠΎ, ΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎ.
ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎΠΌ. Π Π°Π²Π΅Π½ΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π΄Π²Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠΎ-Π²ΡΠΎΡΡΡ , ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ Ρ Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½Π° ΡΠΈΡ. 3.1, Π², Π΄Π»Ρ Item1 ΠΈ Item2 ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ² ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΎΠΆΠ΄Π΅ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ. Π Π΄Π»Ρ Item2 ΠΈ Item3 ΠΈΡΡΠΈΠ½Π½ΡΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ.
Π Π‘++ Π½Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ°Π²Π΅Π½ΡΡΠ²Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ ΠΈ Π½Π΅ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ, ΠΎΠ±ΡΡΠ²ΠΈΠ² ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ:
int operator == (Point&);
int operator ≠ (Point&);