Π—Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ курсовыС, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅, Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚Ρ‹...
ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π·Π°ΠΊΠ°Π·. НСдорого!

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ класса

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

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΎΠ±ΡŠΡΠ²ΠΈΠ»ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ конструктора для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Ρ‚Ρƒ Π² ΡΠΎΠΊΡ€Π°Ρ‰Π΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. Π’ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… количСство конструкторов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΡƒΡ‡Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° своя копия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, описанных Π² ΠΊΠ»Π°ΡΡΠ΅. Однако Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях трСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΊΠ»Π°ΡΡΠ΅ Π±Ρ‹Π»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΠ±Ρ‰ΠΈΠ΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ класса (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° своя копия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, описанных Π² ΠΊΠ»Π°ΡΡΠ΅. Однако Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях трСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΊΠ»Π°ΡΡΠ΅ Π±Ρ‹Π»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΠ±Ρ‰ΠΈΠ΅ для всСх Π΅Π³ΠΎ экзСмпляров — ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ класса.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ класса Π² Π‘++ описываСтся с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом static, ΠΎΠ½Π° создаСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ класса, Π° Π½Π΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ экзСмпляра Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса. Ѐункция, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ трСбуСтся доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ класса, Π½ΠΎ Π½Π΅ Ρ‚рСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Π»Π°ΡΡŒ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ экзСмпляра класса, Ρ‚Π°ΠΊΠΆΠ΅ описываСтся ΠΊΠ°ΠΊ статичСская (static).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€. ОпишСм класс для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Ρ‚Π°ΠΌΠΈ.

class Date{.

int day;// дСнь.

int month;// мСсяц.

int year;// Π³ΠΎΠ΄.

public:

Date (int, int, int); // дСнь, мСсяц, Π³ΠΎΠ΄.

Date (int, int); // дСнь, мСсяц, Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π³ΠΎΠ΄ — ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Date (int); // дСнь, Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ мСсяц ΠΈ Π³ΠΎΠ΄ — ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Date (); // Π΄Π°Ρ‚Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ — сСгодня.

.. .

};

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

Рассмотрим Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. ОпишСм конструктор с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

class Date{.

int day, month, year;

static Date default_date;

public:

Date (int d=0, int m=0, int y=0);

.. .

static void set_default (int, int, int);

};

Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° являСтся Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ, слСдуСт Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ элСмСнтом Π΄Π°Ρ‚Ρ‹, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ — default_date. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ default_date Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ для всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса, данная пСрСмСнная являСтся статичСским Ρ‡Π»Π΅Π½ΠΎΠΌ. Для Π΅Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ описана Ρ‚Π°ΠΊΠΆΠ΅ статичСская функция-Ρ‡Π»Π΅Π½ set_default. БтатичСскиС Ρ‡Π»Π΅Π½Ρ‹ — ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ — Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π³Π΄Π΅-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹. НапримСр,.

Date Date: default_date (1, 1, 2000);

void set_default (int d, int m, int y).

{.

Date: default_date= Date (d, m, y);

}.

БтатичСскиС Ρ‡Π»Π΅Π½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, сгруппированных Π² Ρ„ΠΎΡ€ΠΌΠ΅ объявлСния класса. Π’ ΡΡ‚ΠΎΠΌ случаС Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ‡Π»Π΅Π½Ρ‹ класса, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°ΠΊ статичСскиС.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ позволяСт ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ систСмы Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++ ΠΊ Π½Π°Π±ΠΎΡ€Ρƒ классов ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠ°ΠΊ Π² Ρ‡ΠΈΡΡ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языках.

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