};
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π΅Π½ΠΎΠ²ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ°ΠΊ Π², ΡΠ°ΠΊ ΠΈ Π²Π½Π΅ ΡΠ΅Π»Π° ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΠ³Π΄Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»Π΅Π½ ΠΊΠ»Π°ΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π²Π½Π΅ Π΅Π³ΠΎ ΡΠ΅Π»Π° ΠΊΠ»Π°ΡΡΠ°, ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ static ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, ΠΎΠ½ΠΎ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ Π² ΡΠ΅Π»Π΅ ΠΊΠ»Π°ΡΡΠ°:
void Account::rate(double newRate) {
interestRate = newRate;
}
ΠΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° Π²Π½Π΅ ΡΠ΅Π»Π° ΠΊΠ»Π°ΡΡΠ°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π»ΡΠ±ΠΎΠΌΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ»Π°ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½. ΠΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ static ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ Π² ΡΠ΅Π»Π΅ ΠΊΠ»Π°ΡΡΠ°. Π ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ static Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΡΠ»Π΅Π½Ρ Π½Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΊΠ»Π°ΡΡΠ°, ΠΎΠ½ΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΠ½ΠΈ Π½Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ-ΡΠ»Π΅Π½ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅. ΠΠ°ΠΆΠ΄ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ-ΡΠ»Π΅Π½ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²Π½Π΅ ΡΠ΅Π»Π° ΠΊΠ»Π°ΡΡΠ°. ΠΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ-ΡΠ»Π΅Π½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ.
ΠΠ°ΠΊ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 6.1.1), ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΡΠ»Π΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π²Π½Π΅ Π»ΡΠ±ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠ½ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ, ΠΏΠΎΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ.
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° Π²Π½Π΅ ΠΊΠ»Π°ΡΡΠ°. Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π·Π°ΡΠ΅ΠΌ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ»Π΅Π½Π°:
// ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»Π΅Π½ ΠΊΠ»Π°ΡΡΠ° double
Account::interestRate = initRate();
ΠΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ interestRate, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° Account ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ double. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ»Π΅Π½Π°ΠΌ ΠΊΠ»Π°ΡΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π³Π΄Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π΅Π³ΠΎ ΠΈΠΌΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½ initRate() ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ rate Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ, Π±Π΅Π· ΡΡΠΎΡΠ½Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½ initRate() ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΊΡΡΡΠΎΠΉ, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° interestRate. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ-ΡΠ»Π΅Π½Π° interestRate, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π»ΡΠ±ΠΎΠΌΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°, Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π°ΠΊΡΡΡΡΠΌ ΡΠ»Π΅Π½Π°ΠΌ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ°ΠΈΠ»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, β ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ -ΡΠ»Π΅Π½ΠΎΠ² Π² ΡΠΎΠΌ ΠΆΠ΅ ΡΠ°ΠΉΠ»Π΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ-ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ -ΡΠ»Π΅Π½ΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠ΅ΠΠ±ΡΡΠ½ΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΡΠ»Π΅Π½Ρ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Π² ΡΠ΅Π»Π΅ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π²Π½ΡΡΡΠΈΠΊΠ»Π°ΡΡΠΎΠ²ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΡ Π΄Π»Ρ ΡΠ΅Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ -ΡΠ»Π΅Π½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΠΈΠ»ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π΅Π½ΠΎΠ² constexpr Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 7.5.6). ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ. Π’Π°ΠΊΠΈΠ΅ ΡΠ»Π΅Π½Ρ ΡΠ°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ; ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΡΠ°ΠΌ, Π³Π΄Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ-ΡΠ»Π΅Π½ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΡΠ»Π΅Π½Π° ΡΠΈΠΏΠ° ΠΌΠ°ΡΡΠΈΠ²Π°:
class Account {
public:
static double rate() { return interestRate; }
static void rate(double);
private:
static constexpr int period = 30; // period - ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
double daily_tbl[period];
};
ΠΡΠ»ΠΈ ΡΠ»Π΅Π½ ΠΊΠ»Π°ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°Ρ , Π³Π΄Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΈΠ»ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. ΠΠΎ Π΅ΡΠ»ΠΈ ΡΠ»Π΅Π½ ΠΊΠ»Π°ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅, Π³Π΄Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ, ΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ period ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° daily_tbl, Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π΅Π΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° Account. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΡΠΎ Π΄Π°ΠΆΠ΅, ΠΊΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΡΠΊΠ°Π·Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ-ΡΠ»Π΅Π½ Account::period ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΠ»ΡΡΠ°ΡΡΠ΅ΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° const int&, ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ period ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ.
ΠΡΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π½Π° ΠΊΠ»Π°ΡΡΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
// ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ»Π΅Π½Π° Π±Π΅Π· ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ°
constexpr int Account::period; // ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ Π²
// ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°
ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½Π°Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ-ΡΠ»Π΅Π½ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π² ΡΠ΅Π»Π΅ ΠΊΠ»Π°ΡΡΠ°, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π²Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°.
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠ΅ΠΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅Π½Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ Π΄Π»Ρ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ -ΡΠ»Π΅Π½ΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ-ΡΠ»Π΅Π½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠΏ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 7.3.3). Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ-ΡΠ»Π΅Π½ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠΉ Ρ ΡΠΈΠΏΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°, ΡΠ»Π΅Π½ΠΎΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ. ΠΠ΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ-ΡΠ»Π΅Π½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ ΠΈΠ»ΠΈ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°:
class Bar {
public:
// ...
private:
static Bar mem1; // ok: ΡΠΈΠΏ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ»Π΅Π½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ
// Π½Π΅Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΡΠΌ
Bar *mem2; // ok: ΡΠΈΠΏ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ-ΡΠ»Π΅Π½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΡΠΌ
Bar mem3; // ΠΎΡΠΈΠ±ΠΊΠ°: ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ-ΡΠ»Π΅Π½Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ
// Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΡΠΌ
};
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΡΠ»Π΅Π½Π°ΠΌΠΈ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»Π΅Π½ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 6.5.1):
class Screen {
public:
// bkground ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»Π΅Π½ ΠΊΠ»Π°ΡΡΠ°
// ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ ΠΏΠΎΠ·ΠΆΠ΅, Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°
Screen& clear(char = bkground);
private:
static const char bkground;
};
ΠΠ΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ-ΡΠ»Π΅Π½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ½Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ-ΡΠ»Π΅Π½Π° ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ½Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ, ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π° 7.6Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.56. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»Π΅Π½ ΠΊΠ»Π°ΡΡΠ°? ΠΠ°ΠΊΠΎΠ²Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π΅Π½ΠΎΠ²? Π§Π΅ΠΌ ΠΎΠ½ΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ ΡΠ»Π΅Π½ΠΎΠ²?
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.57. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠ° Account.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.58. ΠΠ°ΠΊΠΈΠ΅ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ -ΡΠ»Π΅Π½ΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΌΠΈ? ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΠΏΠΎΡΠ΅ΠΌΡ.
// example.h
class Example {
public:
static double rate = 6.5;
static const int vecSize = 20;
static vector<double> vec(vecSize);
};
// example.C
#include "example.h"
double Example::rate;
vector<double> Example::vec;
Π Π΅Π·ΡΠΌΠ΅
ΠΠ»Π°ΡΡΡ β ΡΡΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ·ΡΠΊΠ° Π‘++. ΠΠ»Π°ΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ, Π½Π°ΠΈΠ»ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠΈΡΠΏΠΎΡΠΎΠ±Π»Π΅Π½Π½ΡΠ΅ ΠΊ Π·Π°Π΄Π°ΡΠ°ΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡ ΠΊΠΎΡΠΎΡΠ΅ ΠΈ ΠΏΡΠΎΡΠ΅ Π² ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΡΠ½ΠΎΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Π΄Π°Π½Π½ΡΡ (ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ) ΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ (ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π·Π°ΡΠΈΡΠΈΡΡ ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° ΠΎΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°). ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅Π½ΠΎΠ² Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΊΡΡΡΡΠΌΠΈ. ΠΠ»Π°ΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ Π½Π΅ ΠΎΡΠΊΡΡΡΠΎΠΌΡ ΡΠ»Π΅Π½Ρ, ΠΎΠ±ΡΡΠ²ΠΈΠ² Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠ»Π°ΡΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ.
ΠΠ»Π°ΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ β ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡΡΠΈΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Ρ. ΠΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ -ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°.
ΠΠ»Π°ΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΡΠ»Π΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌΠΈ (mutable) ΠΈΠ»ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ (static). ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ-ΡΠ»Π΅Π½ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ β Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π΄Π°ΠΆΠ΅ Π² ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π΅. Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ, ΡΠ°ΠΊ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ-ΡΠ»Π΅Π½. Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ»Π°ΡΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ (mutable) ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ (static) ΡΠ»Π΅Π½Ρ. ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ-ΡΠ»Π΅Π½ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ; Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π΄Π°ΠΆΠ΅ Π² ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π΅. Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»Π΅Π½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ; ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅Π½Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΈΠΏΠ° ΠΊΠ»Π°ΡΡΠ°.