Основы языка программирования C++ с применением объектно-ориентированного программирования. Чернышов М.К. - 37 стр.

UptoLike

Составители: 

3. ɉɪɟɩɪɨɰɟɫɫɨɪɧɵɟ ɫɪɟɞɫɬɜɚ ɜ C ɢɋ++
3.1. Ɉɫɧɨɜɧɵɟ ɩɨɧɹɬɢɹ ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɣ ɨɛɪɚɛɨɬɤɢ
ɉɪɟɩɪɨɰɟɫɫɨɪɧɚɹ ɨɛɪɚɛɨɬɤɚ (ɦɚɤɪɨɨɛɪɚɛɨɬɤɚ) – ɷɬɨ ɩɪɟɨɛɪɚɡɨɜɚɧɢɟ
ɬɟɤɫɬɚ ɩɭɬɟɦ ɡɚɦɟɧɵ ɩɪɟɩɪɨɰɟɫɫɨɪɧɵɯ ɩɟɪɟɦɟɧɧɵɯ ɢɯ ɡɧɚɱɟɧɢɹɦɢ ɢ ɜɵ-
ɩɨɥɧɟɧɢɹ ɩɪɟɩɪɨɰɟɫɫɨɪɧɵɯ ɨɩɟɪɚɬɨɪɨɜ (ɞɢɪɟɤɬɢɜ ɩɪɟɩɪɨɰɟɫɫɨɪɚ).
ȼ ɨɛɳɟɦ ɫɥɭɱɚɟ ɩɪɟɩɪɨɰɟɫɫɨɪɧɵɟ ɫɪɟɞɫɬɜɚ ɜɤɥɸɱɚɸɬ:
ɨɩɪɟɞɟɥɟɧɢɟ ɩɪɟɩɪɨɰɟɫɫɨɪɧɵɯ ɩɟɪɟɦɟɧɧɵɯ ɢ ɩɪɢɫɜɨɟɧɧɵɯ ɢɦ ɡɧɚɱɟɧɢɣ;
ɫɪɟɞɫɬɜɚ ɭɩɪɚɜɥɟɧɢɹ ɩɪɨɫɦɨɬɪɨɦ ɩɪɟɨɛɪɚɡɭɟɦɨɝɨ ɬɟɤɫɬɚ;
ɩɪɚɜɢɥɚ ɩɨɞɫɬɚɧɨɜɤɢ ɡɧɚɱɟɧɢɣ ɦɚɤɪɨɩɟɪɟɦɟɧɧɵɯ.
Ɉɩɪɟɞɟɥɟɧɢɟ ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɣ ɩɟɪɟɦɟɧɧɨɣ ɱɚɫɬɨ ɧɚɡɵɜɚɸɬ ɦɚɤɪɨɨɩ-
ɪɟɞɟɥɟɧɢɟɦ ɢɥɢ ɦɚɤɪɨɫɨɦ, ɚ ɩɨɞɫɬɚɧɨɜɤɭ ɟɟ ɡɧɚɱɟɧɢɹ ɜ ɨɛɪɚɛɚɬɵɜɚɟɦɵɣ
ɬɟɤɫɬɦɚɤɪɨɪɚɫɲɢɪɟɧɢɟɦ.
Ɇɚɤɪɨɨɛɪɚɛɨɬɤɚ ɫɨɫɬɨɢɬ ɜ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɦ ɩɪɨɫɦɨɬɪɟ ɢɫɯɨɞɧɨɝɨ
ɬɟɤɫɬɚ ɢ ɜɵɞɟɥɟɧɢɢ ɜ ɧɟɦ ɥɟɤɫɟɦɫɤɚɧɢɪɨɜɚɧɢɢ ɬɟɤɫɬɚ. ȿɫɥɢ ɜɵɞɟɥɟɧ-
ɧɚɹ ɥɟɤɫɟɦɚ ɹɜɥɹɟɬɫɹ ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɣ ɩɟɪɟɦɟɧɧɨɣ, ɨɧɚ ɡɚɦɟɧɹɟɬɫɹ ɫɜɨɢɦ
ɡɧɚɱɟɧɢɟɦ, ɬɨ ɟɫɬɶ ɫɬɪɨɢɬɫɹ ɦɚɤɪɨɪɚɫɲɢɪɟɧɢɟ. ȿɫɥɢ ɜɫɬɪɟɱɚɟɬɫɹ ɩɪɟɩɪɨ-
ɰɟɫɫɨɪɧɚɹ ɞɢɪɟɤɬɢɜɚ, ɬɨ ɨɧɚ ɜɵɩɨɥɧɹɟɬɫɹ. Ʌɟɤɫɟɦɵ, ɧɟ ɹɜɥɹɸɳɢɟɫɹ ɩɪɟ-
ɩɪɨɰɟɫɫɨɪɧɵɦɢ ɩɟɪɟɦɟɧɧɵɦɢ ɢɥɢ ɞɢɪɟɤɬɢɜɚɦɢ, ɩɟɪɟɧɨɫɹɬɫɹ ɜ ɜɵɯɨɞɧɨɣ
ɬɟɤɫɬ ɛɟɡ ɢɡɦɟɧɟɧɢɹ. Ɋɟɡɭɥɶɬɚɬɨɦ ɬɚɤɨɣ ɨɛɪɚɛɨɬɤɢ ɹɜɥɹɟɬɫɹ ɬɟɤɫɬ, ɧɟ ɫɨ-
ɞɟɪɠɚɳɢɣ ɩɪɟɩɪɨɰɟɫɫɨɪɧɵɯ ɞɢɪɟɤɬɢɜ ɢ ɩɪɟɩɪɨɰɟɫɫɨɪɧɵɯ ɩɟɪɟɦɟɧɧɵɯ.
ȿɫɥɢ ɢɫɯɨɞɧɵɣ ɬɟɤɫɬ ɛɵɥ ɩɪɨɝɪɚɦɦɨɣ ɧɚ C ɢɥɢ C++, ɬɨ ɩɨɫɥɟ ɦɚɤɪɨɨɛɪɚ-
ɛɨɬɤɢ ɞɨɥɠɟɧ ɛɵɬɶ ɩɨɥɭɱɟɧ ɫɢɧɬɚɤɫɢɱɟɫɤɢ ɩɪɚɜɢɥɶɧɵɣ ɬɟɤɫɬ ɧɚ C ɢɥɢ
C++.
Ʉɚɤ ɩɪɚɜɢɥɨ, ɫɬɪɨɤɨɜɵɟ ɥɢɬɟɪɚɥɵ (ɫɬɪɨɤɢ ɜ ɤɚɜɵɱɤɚɯ) ɪɚɫɫɦɚɬɪɢɜɚ-
ɸɬɫɹ ɩɪɟɩɪɨɰɟɫɫɨɪɨɦ ɤɚɤ ɨɬɞɟɥɶɧɵɟ ɥɟɤɫɟɦɵ ɢ ɩɟɪɟɧɨɫɹɬɫɹ ɜ ɜɵɯɨɞɧɨɣ
ɬɟɤɫɬ ɛɟɡ ɢɡɦɟɧɟɧɢɹ.
ɉɪɟɩɪɨɰɟɫɫɨɪ ɨɛɵɱɧɨ ɨɛɟɫɩɟɱɢɜɚɟɬ ɜɨɡɦɨɠɧɨɫɬɶ ɜɤɥɸɱɟɧɢɹ ɜ ɩɪɨ-
ɝɪɚɦɦɭ ɢɫɯɨɞɧɵɯ ɬɟɤɫɬɨɜ ɢɡ ɞɪɭɝɢɯ ɮɚɣɥɨɜ, ɜɋɢ/ɋɢ++ ɷɬɨ ɜɵɩɨɥɧɹɟɬɫɹ
ɩɨ ɞɢɪɟɤɬɢɜɟ
#include ɢɦɹ_ɮɚɣɥɚ
ȿɫɥɢ ɜɤɥɸɱɚɟɦɵɣ ɮɚɣɥ ɧɚɯɨɞɢɬɫɹ ɜ ɨɞɧɨɦ ɢɡ ɨɝɥɚɜɥɟɧɢɣ, ɭɤɚɡɵɜɚɟ-
ɦɵɯ ɜ ɭɫɬɚɧɨɜɤɚɯ ɢɧɬɟɝɪɢɪɨɜɚɧɧɨɣ ɫɪɟɞɵ ɜ ɩɭɧɤɬɟ
options–directory-
include, ɝɞɟ ɦɨɠɧɨ ɭɤɚɡɚɬɶ ɧɟɫɤɨɥɶɤɨ ɩɭɬɟɣ, ɪɚɡɞɟɥɹɹ ɢɯ ɬɨɱɤɨɣ ɫ ɡɚɩɹ-
ɬɨɣ, ɢɦɹ ɮɚɣɥɚ ɡɚɤɥɸɱɚɟɬɫɹ ɜ ɭɝɨɥɤɨɜɵɟ ɤɚɜɵɱɤɢ, ɧɚɩɪɢɦɟɪ:
#include <iostream.h>
ɜ ɨɫɬɚɥɶɧɵɯ ɫɥɭɱɚɹɯ ɭɤɚɡɵɜɚɟɬɫɹ ɩɨɥɧɵɣ ɩɭɬɶ ɤ ɜɤɥɸɱɚɟɦɨɦɭ ɮɚɣɥɭ ɜ ɤɚ-
ɜɵɱɤɚɯ:
#include “c:\myinclud\includ1.h”
ɉɪɢ ɜɤɥɸɱɟɧɢɢ ɮɚɣɥɚ ɧɚ ɦɟɫɬɨ ɞɢɪɟɤɬɢɜɵ #include ɜɫɬɚɜɥɹɟɬɫɹ
ɬɟɤɫɬ ɢɡ ɷɬɨɝɨ ɮɚɣɥɚ, ɚ ɩɨɫɥɟɞɭɸɳɢɟ ɫɬɪɨɤɢ ɢɫɯɨɞɧɨɝɨ ɮɚɣɥɚ ɫɞɜɢɝɚɸɬɫɹ
ɜɧɢɡ. ɉɨɫɥɟ ɷɬɨɝɨ ɜɫɬɚɜɥɟɧɧɵɣ ɬɟɤɫɬ ɫɤɚɧɢɪɭɟɬɫɹ ɩɪɟɩɪɨɰɟɫɫɨɪɨɦ.
37
3. ɉɪɟɩɪɨɰɟɫɫɨɪɧɵɟ ɫɪɟɞɫɬɜɚ ɜ C ɢ ɋ++
3.1. Ɉɫɧɨɜɧɵɟ ɩɨɧɹɬɢɹ ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɣ ɨɛɪɚɛɨɬɤɢ

     ɉɪɟɩɪɨɰɟɫɫɨɪɧɚɹ ɨɛɪɚɛɨɬɤɚ (ɦɚɤɪɨɨɛɪɚɛɨɬɤɚ) – ɷɬɨ ɩɪɟɨɛɪɚɡɨɜɚɧɢɟ
ɬɟɤɫɬɚ ɩɭɬɟɦ ɡɚɦɟɧɵ ɩɪɟɩɪɨɰɟɫɫɨɪɧɵɯ ɩɟɪɟɦɟɧɧɵɯ ɢɯ ɡɧɚɱɟɧɢɹɦɢ ɢ ɜɵ-
ɩɨɥɧɟɧɢɹ ɩɪɟɩɪɨɰɟɫɫɨɪɧɵɯ ɨɩɟɪɚɬɨɪɨɜ (ɞɢɪɟɤɬɢɜ ɩɪɟɩɪɨɰɟɫɫɨɪɚ).
     ȼ ɨɛɳɟɦ ɫɥɭɱɚɟ ɩɪɟɩɪɨɰɟɫɫɨɪɧɵɟ ɫɪɟɞɫɬɜɚ ɜɤɥɸɱɚɸɬ:
– ɨɩɪɟɞɟɥɟɧɢɟ ɩɪɟɩɪɨɰɟɫɫɨɪɧɵɯ ɩɟɪɟɦɟɧɧɵɯ ɢ ɩɪɢɫɜɨɟɧɧɵɯ ɢɦ ɡɧɚɱɟɧɢɣ;
– ɫɪɟɞɫɬɜɚ ɭɩɪɚɜɥɟɧɢɹ ɩɪɨɫɦɨɬɪɨɦ ɩɪɟɨɛɪɚɡɭɟɦɨɝɨ ɬɟɤɫɬɚ;
– ɩɪɚɜɢɥɚ ɩɨɞɫɬɚɧɨɜɤɢ ɡɧɚɱɟɧɢɣ ɦɚɤɪɨɩɟɪɟɦɟɧɧɵɯ.
     Ɉɩɪɟɞɟɥɟɧɢɟ ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɣ ɩɟɪɟɦɟɧɧɨɣ ɱɚɫɬɨ ɧɚɡɵɜɚɸɬ ɦɚɤɪɨɨɩ-
ɪɟɞɟɥɟɧɢɟɦ ɢɥɢ ɦɚɤɪɨɫɨɦ, ɚ ɩɨɞɫɬɚɧɨɜɤɭ ɟɟ ɡɧɚɱɟɧɢɹ ɜ ɨɛɪɚɛɚɬɵɜɚɟɦɵɣ
ɬɟɤɫɬ — ɦɚɤɪɨɪɚɫɲɢɪɟɧɢɟɦ.
     Ɇɚɤɪɨɨɛɪɚɛɨɬɤɚ ɫɨɫɬɨɢɬ ɜ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɦ ɩɪɨɫɦɨɬɪɟ ɢɫɯɨɞɧɨɝɨ
ɬɟɤɫɬɚ ɢ ɜɵɞɟɥɟɧɢɢ ɜ ɧɟɦ ɥɟɤɫɟɦ — ɫɤɚɧɢɪɨɜɚɧɢɢ ɬɟɤɫɬɚ. ȿɫɥɢ ɜɵɞɟɥɟɧ-
ɧɚɹ ɥɟɤɫɟɦɚ ɹɜɥɹɟɬɫɹ ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɣ ɩɟɪɟɦɟɧɧɨɣ, ɨɧɚ ɡɚɦɟɧɹɟɬɫɹ ɫɜɨɢɦ
ɡɧɚɱɟɧɢɟɦ, ɬɨ ɟɫɬɶ ɫɬɪɨɢɬɫɹ ɦɚɤɪɨɪɚɫɲɢɪɟɧɢɟ. ȿɫɥɢ ɜɫɬɪɟɱɚɟɬɫɹ ɩɪɟɩɪɨ-
ɰɟɫɫɨɪɧɚɹ ɞɢɪɟɤɬɢɜɚ, ɬɨ ɨɧɚ ɜɵɩɨɥɧɹɟɬɫɹ. Ʌɟɤɫɟɦɵ, ɧɟ ɹɜɥɹɸɳɢɟɫɹ ɩɪɟ-
ɩɪɨɰɟɫɫɨɪɧɵɦɢ ɩɟɪɟɦɟɧɧɵɦɢ ɢɥɢ ɞɢɪɟɤɬɢɜɚɦɢ, ɩɟɪɟɧɨɫɹɬɫɹ ɜ ɜɵɯɨɞɧɨɣ
ɬɟɤɫɬ ɛɟɡ ɢɡɦɟɧɟɧɢɹ. Ɋɟɡɭɥɶɬɚɬɨɦ ɬɚɤɨɣ ɨɛɪɚɛɨɬɤɢ ɹɜɥɹɟɬɫɹ ɬɟɤɫɬ, ɧɟ ɫɨ-
ɞɟɪɠɚɳɢɣ ɩɪɟɩɪɨɰɟɫɫɨɪɧɵɯ ɞɢɪɟɤɬɢɜ ɢ ɩɪɟɩɪɨɰɟɫɫɨɪɧɵɯ ɩɟɪɟɦɟɧɧɵɯ.
ȿɫɥɢ ɢɫɯɨɞɧɵɣ ɬɟɤɫɬ ɛɵɥ ɩɪɨɝɪɚɦɦɨɣ ɧɚ C ɢɥɢ C++, ɬɨ ɩɨɫɥɟ ɦɚɤɪɨɨɛɪɚ-
ɛɨɬɤɢ ɞɨɥɠɟɧ ɛɵɬɶ ɩɨɥɭɱɟɧ ɫɢɧɬɚɤɫɢɱɟɫɤɢ ɩɪɚɜɢɥɶɧɵɣ ɬɟɤɫɬ ɧɚ C ɢɥɢ
C++.
     Ʉɚɤ ɩɪɚɜɢɥɨ, ɫɬɪɨɤɨɜɵɟ ɥɢɬɟɪɚɥɵ (ɫɬɪɨɤɢ ɜ ɤɚɜɵɱɤɚɯ) ɪɚɫɫɦɚɬɪɢɜɚ-
ɸɬɫɹ ɩɪɟɩɪɨɰɟɫɫɨɪɨɦ ɤɚɤ ɨɬɞɟɥɶɧɵɟ ɥɟɤɫɟɦɵ ɢ ɩɟɪɟɧɨɫɹɬɫɹ ɜ ɜɵɯɨɞɧɨɣ
ɬɟɤɫɬ ɛɟɡ ɢɡɦɟɧɟɧɢɹ.
     ɉɪɟɩɪɨɰɟɫɫɨɪ ɨɛɵɱɧɨ ɨɛɟɫɩɟɱɢɜɚɟɬ ɜɨɡɦɨɠɧɨɫɬɶ ɜɤɥɸɱɟɧɢɹ ɜ ɩɪɨ-
ɝɪɚɦɦɭ ɢɫɯɨɞɧɵɯ ɬɟɤɫɬɨɜ ɢɡ ɞɪɭɝɢɯ ɮɚɣɥɨɜ, ɜ ɋɢ/ɋɢ++ ɷɬɨ ɜɵɩɨɥɧɹɟɬɫɹ
ɩɨ ɞɢɪɟɤɬɢɜɟ
     #include ɢɦɹ_ɮɚɣɥɚ
     ȿɫɥɢ ɜɤɥɸɱɚɟɦɵɣ ɮɚɣɥ ɧɚɯɨɞɢɬɫɹ ɜ ɨɞɧɨɦ ɢɡ ɨɝɥɚɜɥɟɧɢɣ, ɭɤɚɡɵɜɚɟ-
ɦɵɯ ɜ ɭɫɬɚɧɨɜɤɚɯ ɢɧɬɟɝɪɢɪɨɜɚɧɧɨɣ ɫɪɟɞɵ ɜ ɩɭɧɤɬɟ options–directory-
include, ɝɞɟ ɦɨɠɧɨ ɭɤɚɡɚɬɶ ɧɟɫɤɨɥɶɤɨ ɩɭɬɟɣ, ɪɚɡɞɟɥɹɹ ɢɯ ɬɨɱɤɨɣ ɫ ɡɚɩɹ-
ɬɨɣ, ɢɦɹ ɮɚɣɥɚ ɡɚɤɥɸɱɚɟɬɫɹ ɜ ɭɝɨɥɤɨɜɵɟ ɤɚɜɵɱɤɢ, ɧɚɩɪɢɦɟɪ:
     #include 
ɜ ɨɫɬɚɥɶɧɵɯ ɫɥɭɱɚɹɯ ɭɤɚɡɵɜɚɟɬɫɹ ɩɨɥɧɵɣ ɩɭɬɶ ɤ ɜɤɥɸɱɚɟɦɨɦɭ ɮɚɣɥɭ ɜ ɤɚ-
ɜɵɱɤɚɯ:
     #include “c:\myinclud\includ1.h”
    ɉɪɢ ɜɤɥɸɱɟɧɢɢ ɮɚɣɥɚ ɧɚ ɦɟɫɬɨ ɞɢɪɟɤɬɢɜɵ #include ɜɫɬɚɜɥɹɟɬɫɹ
ɬɟɤɫɬ ɢɡ ɷɬɨɝɨ ɮɚɣɥɚ, ɚ ɩɨɫɥɟɞɭɸɳɢɟ ɫɬɪɨɤɢ ɢɫɯɨɞɧɨɝɨ ɮɚɣɥɚ ɫɞɜɢɝɚɸɬɫɹ
ɜɧɢɡ. ɉɨɫɥɟ ɷɬɨɝɨ ɜɫɬɚɜɥɟɧɧɵɣ ɬɟɤɫɬ ɫɤɚɧɢɪɭɟɬɫɹ ɩɪɟɩɪɨɰɟɫɫɨɪɨɦ.
                                  37