ВУЗ:
Составители:
Рубрика:
ɬɟɤɫɬ_3
#endif
ȼ ɮɚɣɥɚɯ ɡɚɝɨɥɨɜɤɨɜ ɞɥɹ ɩɪɟɞɨɬɜɪɚɳɟɧɢɹ ɦɧɨɝɨɤɪɚɬɧɨɝɨ ɜɤɥɸɱɟɧɢɹ ɨɞɧɨ-
ɝɨ ɢ ɬɨɝɨ ɠɟ ɡɚɝɨɥɨɜɤɚ ɜ ɩɪɨɝɪɚɦɦɭ ɨɛɵɱɧɨ ɩɪɢɫɭɬɫɬɜɭɟɬ ɬɟɤɫɬ ɜɢɞɚ:
#if !defined(_DEFS_H)
#define _DEFS_H
/* Ɍɟɤɫɬ ɨɛɴɹɜɥɹɟɦɵɯ ɡɚɝɨɥɨɜɤɨɜ */
...
#endif /* Ʉɨɧɟɰ _DEFS_H */
4. Ɉɛɴɟɤɬɧɨ-ɨɪɢɟɧɬɢɪɨɜɚɧɧɵɟ ɫɪɟɞɫɬɜɚ C++
4.1. Ɉɛɴɟɤɬɧɵɟ ɬɢɩɵ ɞɚɧɧɵɯ
Ɉɛɴɟɤɬɧɵɟ ɬɢɩɵ ɞɚɧɧɵɯ – ɷɬɨ ɚɝɪɟɝɚɬɧɵɟ ɬɢɩɵ, ɩɨɥɧɨɫɬɶɸ ɨɩɪɟɞɟ-
ɥɹɟɦɵɟ ɩɪɨɝɪɚɦɦɢɫɬɨɦ, ɨɩɢɫɚɧɢɟ ɨɛɴɟɤɬɧɨɝɨ ɬɢɩɚ ɞɨɥɠɧɨ ɫɨɞɟɪɠɚɬɶ
ɤɨɦɩɨɧɟɧɬɵ-ɞɚɧɧɵɟ, ɨɩɪɟɞɟɥɹɸɳɢɟ ɨɛɥɚɫɬɶ ɜɨɡɦɨɠɧɵɯ ɡɧɚɱɟɧɢɣ ɩɟɪɟ-
ɦɟɧɧɵɯ ɷɬɨɝɨ ɬɢɩɚ, ɢ ɨɩɢɫɚɧɢɟ ɨɩɟɪɚɰɢɣ, ɞɨɩɭɫɬɢɦɵɯ ɧɚɞ ɩɟɪɟɦɟɧɧɵɦɢ
ɷɬɨɝɨ ɬɢɩɚ ɢ ɤɨɦɩɨɧɟɧɬɚɦɢ-ɞɚɧɧɵɦɢ, ɫɨɫɬɚɜɥɹɸɳɢɦɢ ɩɟɪɟɦɟɧɧɭɸ. Ⱦɥɹ
ɫɨɯɪɚɧɟɧɢɹ ɫɨɜɦɟɫɬɢɦɨɫɬɢ ɫ ɩɪɨɝɪɚɦɦɚɦɢ ɧɚ ɋɢ ɫɢɧɬɚɤɫɢɫ ɨɩɢɫɚɧɢɹ ɨɛɴ-
ɟɤɬɧɨɝɨ ɬɢɩɚ ɜ ɋɢ++ ɜɵɛɪɚɧ ɩɨɞɨɛɧɵɦ ɨɩɢɫɚɧɢɸ ɫɬɪɭɤɬɭɪɧɨɝɨ ɬɢɩɚ ɢɥɢ
ɬɢɩɚ ɨɛɴɟɞɢɧɟɧɢɹ ɜ ɋɢ. ȼ ɫɭɳɧɨɫɬɢ ɫɬɪɭɤɬɭɪɵ ɢ ɨɛɴɟɞɢɧɟɧɢɹ ɜ ɋɢ++ ɪɚɫ-
ɫɦɚɬɪɢɜɚɸɬɫɹ ɤɚɤ ɜɚɪɢɚɧɬɵ ɨɛɴɟɤɬɧɵɯ ɬɢɩɨɜ. ɂɦɟɸɬɫɹ ɬɪɢ ɜɚɪɢɚɧɬɚ ɨɛɴ-
ɟɤɬɧɵɯ ɬɢɩɨɜ: ɫɬɪɭɤɬɭɪɚ (
struct), ɨɛɴɟɞɢɧɟɧɢɟ (union) ɢ ɤɥɚɫɫ (class),
ɪɚɡɥɢɱɚɸɳɢɟɫɹ ɜɨɡɦɨɠɧɨɫɬɹɦɢ ɞɨɫɬɭɩɚ ɤ ɤɨɦɩɨɧɟɧɬɚɦ ɬɢɩɚ. ȼ ɞɚɥɶɧɟɣ-
ɲɟɦ ɞɥɹ ɤɪɚɬɤɨɫɬɢ ɜɫɟ ɜɚɪɢɚɧɬɵ ɨɛɴɟɤɬɧɵɯ ɬɢɩɨɜ ɛɭɞɟɦ ɧɚɡɵɜɚɬɶ ɤɥɚɫɫɚ-
ɦɢ. Ɉɩɢɫɚɧɢɟ ɨɛɴɟɤɬɧɨɝɨ ɬɢɩɚ ɫɬɪɨɢɬɫɹ ɩɨ ɫɯɟɦɟ:
ɜɚɪɢɚɧɬ_ɬɢɩɚ ɢɦɹ_ɬɢɩɚ: ɫɩɢɫɨɤ_ɛɚɡɨɜɵɯ_ɤɥɚɫɫɨɜ
{ɤɨɦɩɨɧɟɧɬɵ (ɱɥɟɧɵ) ɤɥɚɫɫɚ}
Ʉɨɦɩɨɧɟɧɬɚɦɢ ɤɥɚɫɫɚ ɦɨɝɭɬ ɛɵɬɶ ɤɨɦɩɨɧɟɧɬɵ-ɞɚɧɧɵɟ ɢ ɤɨɦɩɨɧɟɧɬɵ-
ɮɭɧɤɰɢɢ. Ʉɨɦɩɨɧɟɧɬɵ-ɮɭɧɤɰɢɢ ɩɪɟɞɧɚɡɧɚɱɟɧɵ ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ ɨɩɟɪɚɰɢɣ
ɧɚɞ ɨɛɴɟɤɬɧɵɦɢ ɞɚɧɧɵɦɢ, ɢɯ ɱɚɫɬɨ ɧɚɡɵɜɚɸɬ ɦɟɬɨɞɚɦɢ ɤɥɚɫɫɚ. Ʉɨɦɩɨ-
ɧɟɧɬɵ-ɞɚɧɧɵɟ ɧɚɡɵɜɚɸɬ ɫɜɨɣɫɬɜɚɦɢ ɤɥɚɫɫɚ.
Ⱦɥɹ ɤɚɠɞɨɝɨ ɤɨɦɩɨɧɟɧɬɚ ɤɥɚɫɫɚ ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɭɪɨɜɟɧɶ ɞɨɫɬɭɩɚ ɥɢ-
ɛɨ ɹɜɧɨ, ɭɤɚɡɚɧɢɟɦ ɭɪɨɜɧɹ ɞɨɫɬɭɩɚ ɨɞɧɢɦ ɢɡ ɤɥɸɱɟɜɵɯ ɫɥɨɜ
public,
protected ɢɥɢ private ɫ ɞɜɨɟɬɨɱɢɟɦ, ɥɢɛɨ ɧɟɹɜɧɨ, ɩɨ ɭɦɨɥɱɚɧɢɸ. ɍɤɚɡɚ-
ɧɢɟ ɭɪɨɜɧɹ ɞɨɫɬɭɩɚ ɨɬɧɨɫɢɬɫɹ ɤɨ ɜɫɟɦ ɩɨɫɥɟɞɭɸɳɢɦ ɤɨɦɩɨɧɟɧɬɚɦ ɤɥɚɫɫɚ,
ɩɨɤɚ ɧɟ ɜɫɬɪɟɬɢɬɫɹ ɭɤɚɡɚɧɢɟ ɞɪɭɝɨɝɨ ɭɪɨɜɧɹ ɞɨɫɬɭɩɚ. ɍɪɨɜɟɧɶ ɞɨɫɬɭɩɚ
public ɪɚɡɪɟɲɚɟɬ ɞɨɫɬɭɩ ɤ ɤɨɦɩɨɧɟɧɬɚɦ ɤɥɚɫɫɚ ɢɡ ɥɸɛɨɝɨ ɦɟɫɬɚ ɩɪɨɝɪɚɦ-
ɦɵ, ɜ ɤɨɬɨɪɨɦ ɢɡɜɟɫɬɧɚ ɩɟɪɟɦɟɧɧɚɹ ɷɬɨɝɨ ɤɥɚɫɫɚ. ɍɪɨɜɟɧɶ ɞɨɫɬɭɩɚ
private
ɪɚɡɪɟɲɚɟɬ ɞɨɫɬɭɩ ɤ ɤɨɦɩɨɧɟɧɬɚɦ ɤɥɚɫɫɚ ɬɨɥɶɤɨ ɢɡ ɦɟɬɨɞɨɜ ɷɬɨɝɨ ɤɥɚɫɫɚ.
ɍɪɨɜɟɧɶ ɞɨɫɬɭɩɚ
protected ɢɦɟɟɬ ɫɦɵɫɥ ɬɨɥɶɤɨ ɜ ɢɟɪɚɪɯɢɱɟɫɤɨɣ ɫɢɫɬɟɦɟ
41
ɬɟɤɫɬ_3
#endif
ȼ ɮɚɣɥɚɯ ɡɚɝɨɥɨɜɤɨɜ ɞɥɹ ɩɪɟɞɨɬɜɪɚɳɟɧɢɹ ɦɧɨɝɨɤɪɚɬɧɨɝɨ ɜɤɥɸɱɟɧɢɹ ɨɞɧɨ-
ɝɨ ɢ ɬɨɝɨ ɠɟ ɡɚɝɨɥɨɜɤɚ ɜ ɩɪɨɝɪɚɦɦɭ ɨɛɵɱɧɨ ɩɪɢɫɭɬɫɬɜɭɟɬ ɬɟɤɫɬ ɜɢɞɚ:
#if !defined(_DEFS_H)
#define _DEFS_H
/* Ɍɟɤɫɬ ɨɛɴɹɜɥɹɟɦɵɯ ɡɚɝɨɥɨɜɤɨɜ */
...
#endif /* Ʉɨɧɟɰ _DEFS_H */
4. Ɉɛɴɟɤɬɧɨ-ɨɪɢɟɧɬɢɪɨɜɚɧɧɵɟ ɫɪɟɞɫɬɜɚ C++
4.1. Ɉɛɴɟɤɬɧɵɟ ɬɢɩɵ ɞɚɧɧɵɯ
Ɉɛɴɟɤɬɧɵɟ ɬɢɩɵ ɞɚɧɧɵɯ – ɷɬɨ ɚɝɪɟɝɚɬɧɵɟ ɬɢɩɵ, ɩɨɥɧɨɫɬɶɸ ɨɩɪɟɞɟ-
ɥɹɟɦɵɟ ɩɪɨɝɪɚɦɦɢɫɬɨɦ, ɨɩɢɫɚɧɢɟ ɨɛɴɟɤɬɧɨɝɨ ɬɢɩɚ ɞɨɥɠɧɨ ɫɨɞɟɪɠɚɬɶ
ɤɨɦɩɨɧɟɧɬɵ-ɞɚɧɧɵɟ, ɨɩɪɟɞɟɥɹɸɳɢɟ ɨɛɥɚɫɬɶ ɜɨɡɦɨɠɧɵɯ ɡɧɚɱɟɧɢɣ ɩɟɪɟ-
ɦɟɧɧɵɯ ɷɬɨɝɨ ɬɢɩɚ, ɢ ɨɩɢɫɚɧɢɟ ɨɩɟɪɚɰɢɣ, ɞɨɩɭɫɬɢɦɵɯ ɧɚɞ ɩɟɪɟɦɟɧɧɵɦɢ
ɷɬɨɝɨ ɬɢɩɚ ɢ ɤɨɦɩɨɧɟɧɬɚɦɢ-ɞɚɧɧɵɦɢ, ɫɨɫɬɚɜɥɹɸɳɢɦɢ ɩɟɪɟɦɟɧɧɭɸ. Ⱦɥɹ
ɫɨɯɪɚɧɟɧɢɹ ɫɨɜɦɟɫɬɢɦɨɫɬɢ ɫ ɩɪɨɝɪɚɦɦɚɦɢ ɧɚ ɋɢ ɫɢɧɬɚɤɫɢɫ ɨɩɢɫɚɧɢɹ ɨɛɴ-
ɟɤɬɧɨɝɨ ɬɢɩɚ ɜ ɋɢ++ ɜɵɛɪɚɧ ɩɨɞɨɛɧɵɦ ɨɩɢɫɚɧɢɸ ɫɬɪɭɤɬɭɪɧɨɝɨ ɬɢɩɚ ɢɥɢ
ɬɢɩɚ ɨɛɴɟɞɢɧɟɧɢɹ ɜ ɋɢ. ȼ ɫɭɳɧɨɫɬɢ ɫɬɪɭɤɬɭɪɵ ɢ ɨɛɴɟɞɢɧɟɧɢɹ ɜ ɋɢ++ ɪɚɫ-
ɫɦɚɬɪɢɜɚɸɬɫɹ ɤɚɤ ɜɚɪɢɚɧɬɵ ɨɛɴɟɤɬɧɵɯ ɬɢɩɨɜ. ɂɦɟɸɬɫɹ ɬɪɢ ɜɚɪɢɚɧɬɚ ɨɛɴ-
ɟɤɬɧɵɯ ɬɢɩɨɜ: ɫɬɪɭɤɬɭɪɚ (struct), ɨɛɴɟɞɢɧɟɧɢɟ (union) ɢ ɤɥɚɫɫ (class),
ɪɚɡɥɢɱɚɸɳɢɟɫɹ ɜɨɡɦɨɠɧɨɫɬɹɦɢ ɞɨɫɬɭɩɚ ɤ ɤɨɦɩɨɧɟɧɬɚɦ ɬɢɩɚ. ȼ ɞɚɥɶɧɟɣ-
ɲɟɦ ɞɥɹ ɤɪɚɬɤɨɫɬɢ ɜɫɟ ɜɚɪɢɚɧɬɵ ɨɛɴɟɤɬɧɵɯ ɬɢɩɨɜ ɛɭɞɟɦ ɧɚɡɵɜɚɬɶ ɤɥɚɫɫɚ-
ɦɢ. Ɉɩɢɫɚɧɢɟ ɨɛɴɟɤɬɧɨɝɨ ɬɢɩɚ ɫɬɪɨɢɬɫɹ ɩɨ ɫɯɟɦɟ:
ɜɚɪɢɚɧɬ_ɬɢɩɚ ɢɦɹ_ɬɢɩɚ: ɫɩɢɫɨɤ_ɛɚɡɨɜɵɯ_ɤɥɚɫɫɨɜ
{ɤɨɦɩɨɧɟɧɬɵ (ɱɥɟɧɵ) ɤɥɚɫɫɚ}
Ʉɨɦɩɨɧɟɧɬɚɦɢ ɤɥɚɫɫɚ ɦɨɝɭɬ ɛɵɬɶ ɤɨɦɩɨɧɟɧɬɵ-ɞɚɧɧɵɟ ɢ ɤɨɦɩɨɧɟɧɬɵ-
ɮɭɧɤɰɢɢ. Ʉɨɦɩɨɧɟɧɬɵ-ɮɭɧɤɰɢɢ ɩɪɟɞɧɚɡɧɚɱɟɧɵ ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ ɨɩɟɪɚɰɢɣ
ɧɚɞ ɨɛɴɟɤɬɧɵɦɢ ɞɚɧɧɵɦɢ, ɢɯ ɱɚɫɬɨ ɧɚɡɵɜɚɸɬ ɦɟɬɨɞɚɦɢ ɤɥɚɫɫɚ. Ʉɨɦɩɨ-
ɧɟɧɬɵ-ɞɚɧɧɵɟ ɧɚɡɵɜɚɸɬ ɫɜɨɣɫɬɜɚɦɢ ɤɥɚɫɫɚ.
Ⱦɥɹ ɤɚɠɞɨɝɨ ɤɨɦɩɨɧɟɧɬɚ ɤɥɚɫɫɚ ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɭɪɨɜɟɧɶ ɞɨɫɬɭɩɚ ɥɢ-
ɛɨ ɹɜɧɨ, ɭɤɚɡɚɧɢɟɦ ɭɪɨɜɧɹ ɞɨɫɬɭɩɚ ɨɞɧɢɦ ɢɡ ɤɥɸɱɟɜɵɯ ɫɥɨɜ public,
protected ɢɥɢ private ɫ ɞɜɨɟɬɨɱɢɟɦ, ɥɢɛɨ ɧɟɹɜɧɨ, ɩɨ ɭɦɨɥɱɚɧɢɸ. ɍɤɚɡɚ-
ɧɢɟ ɭɪɨɜɧɹ ɞɨɫɬɭɩɚ ɨɬɧɨɫɢɬɫɹ ɤɨ ɜɫɟɦ ɩɨɫɥɟɞɭɸɳɢɦ ɤɨɦɩɨɧɟɧɬɚɦ ɤɥɚɫɫɚ,
ɩɨɤɚ ɧɟ ɜɫɬɪɟɬɢɬɫɹ ɭɤɚɡɚɧɢɟ ɞɪɭɝɨɝɨ ɭɪɨɜɧɹ ɞɨɫɬɭɩɚ. ɍɪɨɜɟɧɶ ɞɨɫɬɭɩɚ
public ɪɚɡɪɟɲɚɟɬ ɞɨɫɬɭɩ ɤ ɤɨɦɩɨɧɟɧɬɚɦ ɤɥɚɫɫɚ ɢɡ ɥɸɛɨɝɨ ɦɟɫɬɚ ɩɪɨɝɪɚɦ-
ɦɵ, ɜ ɤɨɬɨɪɨɦ ɢɡɜɟɫɬɧɚ ɩɟɪɟɦɟɧɧɚɹ ɷɬɨɝɨ ɤɥɚɫɫɚ. ɍɪɨɜɟɧɶ ɞɨɫɬɭɩɚ private
ɪɚɡɪɟɲɚɟɬ ɞɨɫɬɭɩ ɤ ɤɨɦɩɨɧɟɧɬɚɦ ɤɥɚɫɫɚ ɬɨɥɶɤɨ ɢɡ ɦɟɬɨɞɨɜ ɷɬɨɝɨ ɤɥɚɫɫɚ.
ɍɪɨɜɟɧɶ ɞɨɫɬɭɩɚ protected ɢɦɟɟɬ ɫɦɵɫɥ ɬɨɥɶɤɨ ɜ ɢɟɪɚɪɯɢɱɟɫɤɨɣ ɫɢɫɬɟɦɟ
41
Страницы
- « первая
- ‹ предыдущая
- …
- 39
- 40
- 41
- 42
- 43
- …
- следующая ›
- последняя »
