Π’ΠΈΠΏΠΈΠ·Π°ΡΠΈΡ.
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Π²Π²Π΅ΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΈΠΏΠ° «operator ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ», ΡΠΎ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ². ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ΅Π»ΠΎ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΌΡΡΠ» ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ ΠΊ ΡΠΈΠΏΡ double ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π’ΠΈΠΏΠΈΠ·Π°ΡΠΈΡ. ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π’ΠΈΠΏΠΈΠ·Π°ΡΠΈΡ — ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΡΠΈΡΠΈΡΡΡΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° (ΡΠΈΠΏΠ°) Π²ΠΌΠ΅ΡΡΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ, ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
ΠΠ΄Π΅Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π² ΠΏΠΎΠ½ΡΡΠΈΠΈ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ. ΠΠΎΠ·ΡΠΌΠ΅ΠΌ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. Π Π°Π·Π΄Π΅Π»ΠΈΠ² ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΡ, ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ, Π° Π½Π΅ Π²Π΅Ρ. Π ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Π½Π° ΡΠΈΠ»Ρ ΡΠΌΡΡΠ»Π° Π½Π΅Ρ, Π° Π² ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ Π½Π° ΡΠΈΠ»Ρ Π΅ΡΡΡ. ΠΡΠ΅ ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠΊΠ»Π°Π΄Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π΄ΠΈΠΊΡΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ:
typedef char* Pchar;
Pchar p1, p2;
char *p3 = p1;
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅, Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅Π΅ΡΡ Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° typedef, Π²Π²ΠΎΠ΄ΠΈΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ Π΄Π»Ρ ΡΠΈΠΏΠ°, ΡΡΠΈ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠΌΠ΅ΡΠΈΠ²Π°ΡΡ Π² Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΡ . Π ΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ C++ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π°Π±ΡΡ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ.
ΠΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΠΈΠΏΠΎΠ² Ρ ΠΊΠ»Π°ΡΡΠΎΠ² C++ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΡΡΠΎΠΆΠ΅. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ Π½Π° ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΠ°ΠΆΠ½ΡΠΌ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π² ΡΠ΅Π»ΠΎΠΌ ΠΈ ΡΠ·ΡΠΊΠ° Π‘++ Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ.
ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ — ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (ΡΠΌΡΡΠ»Ρ) ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈ ΡΠΎΠΌΡ ΠΆΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π‘ΠΌΡΡΠ» Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠ°.
ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Π€ΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΌΡ ΡΠΈΠΏΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,.
int i = 1;
double a, b = 4.5;
a = b + i;
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ ΠΊ ΡΠΈΠΏΡ double ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ double. ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ i Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ i, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ°. Π€ΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΠ³Π½Π°ΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,.
double a;
a = ½; // ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π΄Π΅Π»Π΅Π½ΠΈΠ΅, a = 0.
a = 1./2.; // Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΡΠ΅Π», a = 0.5.
ΠΡΠ»ΠΈ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Π²Π²Π΅ΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΈΠΏΠ° «operator ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ», ΡΠΎ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ². ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ΅Π»ΠΎ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΌΡΡΠ» ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
class complex {.
double re, im;
public:
.. .
complex operator+(complex);
complex operator*(complex);
};
ΠΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°: ΡΠΈΡΠ»ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠΎΠΉ ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ, Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ + ΠΈ *. Π’Π΅ΠΏΠ΅ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ b ΠΈ c ΡΠΈΠΏΠ° complex, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ b+c, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ (ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ) b. operator+©. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ΅, Π±Π»ΠΈΠ·ΠΊΠΎΠΉ ΠΊ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΠΎΠΉ.
ΠΡΡΠ³ΠΈΠ΅ ΡΠΈΠΏΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠ° — Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ — ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π² ΠΏ. 4.3 ΠΈ 4.5 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠ»Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ²Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠΈΠΏΡ Π² Π‘++ ΠΈΠΌΠ΅ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ static_cast ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎ ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΠΌΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,.
int i;
double a, b;
.. .
Π° = static_cast (i);
Π° = static_cast (static_cast (b) + 1);
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ reinterpret_cast ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ (Π½Π΅ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ) ΡΠΈΠΏΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,.
i = reinterpret_cast (&x);// ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ΅ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° const ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. ΠΡΠ»ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΠΎΠΉΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ const_cast.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ static_cast ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ ΡΠΈΠΏΡ, ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΈΠ·Π²Π΅ΡΡΠ½Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π ΡΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ dynamic_cast. ΠΠ°Π½Π½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π² ΠΏ. 4.3.