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

UptoLike

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

ɩɟɪɟɦɟɧɧɨɣ, ɤ ɤɨɬɨɪɨɣ ɨɬɧɨɫɢɬɫɹ ɫɫɵɥɤɚ. ɉɪɢ ɨɛɴɹɜɥɟɧɢɢ ɫɫɵɥɤɢ ɡɚ ɢɦɟ-
ɧɟɦ ɬɢɩɚ ɡɚɩɢɫɵɜɚɟɬɫɹ ɡɧɚɤ «
(ɚɦɩɟɪɫɟɧɞ):
int ii;
int& aii=ii;
ɉɪɢ ɬɚɤɨɦ ɨɩɢɫɚɧɢɢ ɨɩɟɪɚɬɨɪɵ aii=5; ɢ ii=5; ɷɤɜɢɜɚɥɟɧɬɧɵ.
ɂɡ ɩɟɪɟɦɟɧɧɵɯ ɥɸɛɨɝɨ ɬɢɩɚ ɦɨɝɭɬ ɨɛɪɚɡɨɜɵɜɚɬɶɫɹ ɦɚɫɫɢɜɵ. ɉɪɢ ɨɛɴ-
ɹɜɥɟɧɢɢ ɦɚɫɫɢɜɚ ɜ ɞɟɤɥɚɪɚɬɨɪɟ-ɢɧɢɰɢɚɥɢɡɚɬɨɪɟ ɡɚ ɢɞɟɧɬɢɮɢɤɚɬɨɪɨɦ ɦɚɫ-
ɫɢɜɚ ɡɚɞɚɟɬɫɹ ɱɢɫɥɨ ɷɥɟɦɟɧɬɨɜ ɦɚɫɫɢɜɚ ɜ ɤɜɚɞɪɚɬɧɵɯ ɫɤɨɛɤɚɯ:
int a[5]; // Ɇɚɫɫɢɜ ɢɡ ɩɹɬɢ ɷɥɟɦɟɧɬɨɜ ɬɢɩɚ int
ɂɧɞɟɤɫɵ ɷɥɟɦɟɧɬɨɜ ɦɚɫɫɢɜɚ ɜɫɟɝɞɚ ɧɚɱɢɧɚɸɬɫɹ ɫ 0, ɢɧɞɟɤɫ ɩɨɫɥɟɞɧɟɝɨ
ɷɥɟɦɟɧɬɚ ɧɚ ɟɞɢɧɢɰɭ ɦɟɧɶɲɟ ɱɢɫɥɚ ɷɥɟɦɟɧɬɨɜ ɜ ɦɚɫɫɢɜɟ. Ɇɚɫɫɢɜ ɦɨɠɟɬ
ɢɧɢɰɢɚɥɢɡɢɪɨɜɚɬɶɫɹ ɫɩɢɫɤɨɦ ɡɧɚɱɟɧɢɣ ɜ ɮɢɝɭɪɧɵɯ ɫɤɨɛɤɚɯ:
int b[4]={1, 2, 3, 4};
ɉɪɢ ɧɚɥɢɱɢɢ ɫɩɢɫɤɚ ɢɧɢɰɢɚɥɢɡɚɰɢɢ, ɨɯɜɚɬɵɜɚɸɳɟɝɨ ɜɫɟ ɷɥɟɦɟɧɬɵ
ɦɚɫɫɢɜɚ, ɦɨɠɧɨ ɧɟ ɭɤɚɡɵɜɚɬɶ ɱɢɫɥɨ ɷɥɟɦɟɧɬɨɜ ɦɚɫɫɢɜɚ, ɨɧɨ ɛɭɞɟɬ ɨɩɪɟɞɟ-
ɥɟɧɨ ɤɨɦɩɢɥɹɬɨɪɨɦ:
int c[]={1, 2, 3}; // Ɇɚɫɫɢɜ ɢɡ ɬɪɟɯ ɷɥɟɦɟɧɬɨɜ ɬɢɩɚ int
Ɇɧɨɝɨɦɟɪɧɵɟ ɦɚɫɫɢɜɵ ɪɚɫɫɦɚɬɪɢɜɚɸɬɫɹ ɤɚɤ ɦɚɫɫɢɜɵ ɦɚɫɫɢɜɨɜ, ɢɞɥɹ
ɤɚɠɞɨɝɨ ɢɡɦɟɪɟɧɢɹ ɭɤɚɡɵɜɚɟɬɫɹ ɱɢɫɥɨ ɷɥɟɦɟɧɬɨɜ:
double aa[2][2]={1, 2, 3, 4}; // Ɇɚɬɪɢɰɚ 2*2
Ɇɚɫɫɢɜɵ ɬɢɩɚ char ɦɨɝɭɬ ɢɧɢɰɢɚɥɢɡɢɪɨɜɚɬɶɫɹ ɫɬɪɨɤɨɜɵɦ ɥɢɬɟɪɚɥɨɦ.
ɋɬɪɨɤɨɜɵɣ ɥɢɬɟɪɚɥ - ɷɬɨ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɥɸɛɵɯ ɫɢɦɜɨɥɨɜ, ɤɪɨɦɟ ɤɚ-
ɜɵɱɟɤ ɢ ɨɛɪɚɬɧɨɣ ɤɨɫɨɣ ɱɟɪɬɵ, ɡɚɤɥɸɱɟɧɧɚɹ ɜ ɤɚɜɵɱɤɢ. ȿɫɥɢ ɫɬɪɨɤɨɜɵɣ
ɥɢɬɟɪɚɥ ɧɟ ɭɦɟɳɚɟɬɫɹ ɧɚ ɨɞɧɨɣ ɫɬɪɨɤɟ, ɟɝɨ ɦɨɠɧɨ ɩɪɟɪɜɚɬɶ ɫɢɦɜɨɥɨɦ «
ɢ ɩɪɨɞɨɥɠɢɬɶ ɫ ɧɚɱɚɥɚ ɫɥɟɞɭɸɳɟɣ ɫɬɪɨɤɢ. ȼ ɫɬɚɧɞɚɪɬɟ C++ ɩɪɟɞɭɫɦɨɬɪɟɧɚ
ɢ ɞɪɭɝɚɹ ɜɨɡɦɨɠɧɨɫɬɶ ɡɚɩɢɫɢ ɞɥɢɧɧɵɯ ɥɢɬɟɪɚɥɨɜ ɜ ɜɢɞɟ ɧɟɫɤɨɥɶɤɢɯ ɡɚɩɢ-
ɫɚɧɧɵɯ ɩɨɞɪɹɞ ɫɬɪɨɤɨɜɵɯ ɥɢɬɟɪɚɥɨɜ. ȿɫɥɢ ɦɟɠɞɭ ɫɬɪɨɤɨɜɵɦɢ ɥɢɬɟɪɚɥɚɦɢ
ɧɟɬ ɫɢɦɜɨɥɨɜ, ɨɬɥɢɱɧɵɯ ɨɬ ɩɪɨɛɟɥɨɜ, ɬɚɤɢɟ ɥɢɬɟɪɚɥɵ ɫɥɢɜɚɸɬɫɹ ɤɨɦɩɢɥɹ-
ɬɨɪɨɦ ɜ ɨɞɢɧ.
ɉɪɢ ɪɚɡɦɟɳɟɧɢɢ ɜ ɩɚɦɹɬɢ ɜ ɤɨɧɰɟ ɫɬɪɨɤɨɜɨɝɨ ɥɢɬɟɪɚɥɚ ɞɨɛɚɜɥɹɟɬɫɹ
ɫɢɦɜɨɥ
'\0', ɬɨ ɟɫɬɶ ɧɭɥɟɜɨɣ ɛɚɣɬ. ɋɬɪɨɤɨɜɵɣ ɥɢɬɟɪɚɥ ɦɨɠɟɬ ɩɪɢɦɟɧɹɬɶ-
ɫɹ ɢ ɞɥɹ ɢɧɢɰɢɚɥɢɡɚɰɢɢ ɭɤɚɡɚɬɟɥɹ ɧɚ ɬɢɩ
char:
char str1[11]="ɗɬɨ ɫɬɪɨɤɚ",
char str2[]="Ɋɚɡɦɟɪ ɷɬɨɝɨ ɦɚɫɫɢɜɚ ɨɩɪɟɞɟɥɹɟɬɫɹ"
" ɱɢɫɥɨɦ ɡɧɚɤɨɜ ɜ ɥɢɬɟɪɚɥɟ + 1";
char *pstr="ɍɤɚɡɚɬɟɥɶ ɫ ɢɧɢɰɢɚɥɢɡɚɰɢɟɣ ɫɬɪɨɤɨɣ";
ɂɦɹ ɦɚɫɫɢɜɚ ɜ ɋɢ/ɋɢ++ ɹɜɥɹɟɬɫɹ ɭɤɚɡɚɬɟɥɟɦ-ɤɨɧɫɬɚɧɬɨɣ, ɫɫɵɥɚɸɳɢɦɫɹ ɧɚ
ɩɟɪɜɵɣ ɷɥɟɦɟɧɬ ɦɚɫɫɢɜɚ, ɢɦɟɸɳɢɣ ɢɧɞɟɤɫ, ɪɚɜɧɵɣ ɧɭɥɸ. Ⱦɥɹ ɨɛɪɚɳɟɧɢɹ
ɤ ɷɥɟɦɟɧɬɭ ɦɚɫɫɢɜɚ ɭɤɚɡɵɜɚɟɬɫɹ ɢɞɟɧɬɢɮɢɤɚɬɨɪ ɦɚɫɫɢɜɚ ɢ ɢɧɞɟɤɫ ɷɥɟɦɟɧɬɚ
ɜ ɤɪɭɝɥɵɯ ɫɤɨɛɤɚɯ, ɧɚɩɪɢɦɟɪ,
c[2], aa[0][1].
13
ɩɟɪɟɦɟɧɧɨɣ, ɤ ɤɨɬɨɪɨɣ ɨɬɧɨɫɢɬɫɹ ɫɫɵɥɤɚ. ɉɪɢ ɨɛɴɹɜɥɟɧɢɢ ɫɫɵɥɤɢ ɡɚ ɢɦɟ-
ɧɟɦ ɬɢɩɚ ɡɚɩɢɫɵɜɚɟɬɫɹ ɡɧɚɤ «&» (ɚɦɩɟɪɫɟɧɞ):
     int ii;
     int& aii=ii;
ɉɪɢ ɬɚɤɨɦ ɨɩɢɫɚɧɢɢ ɨɩɟɪɚɬɨɪɵ aii=5; ɢ ii=5; ɷɤɜɢɜɚɥɟɧɬɧɵ.
    ɂɡ ɩɟɪɟɦɟɧɧɵɯ ɥɸɛɨɝɨ ɬɢɩɚ ɦɨɝɭɬ ɨɛɪɚɡɨɜɵɜɚɬɶɫɹ ɦɚɫɫɢɜɵ. ɉɪɢ ɨɛɴ-
ɹɜɥɟɧɢɢ ɦɚɫɫɢɜɚ ɜ ɞɟɤɥɚɪɚɬɨɪɟ-ɢɧɢɰɢɚɥɢɡɚɬɨɪɟ ɡɚ ɢɞɟɧɬɢɮɢɤɚɬɨɪɨɦ ɦɚɫ-
ɫɢɜɚ ɡɚɞɚɟɬɫɹ ɱɢɫɥɨ ɷɥɟɦɟɧɬɨɜ ɦɚɫɫɢɜɚ ɜ ɤɜɚɞɪɚɬɧɵɯ ɫɤɨɛɤɚɯ:
     int a[5];               // Ɇɚɫɫɢɜ ɢɡ ɩɹɬɢ ɷɥɟɦɟɧɬɨɜ ɬɢɩɚ int
    ɂɧɞɟɤɫɵ ɷɥɟɦɟɧɬɨɜ ɦɚɫɫɢɜɚ ɜɫɟɝɞɚ ɧɚɱɢɧɚɸɬɫɹ ɫ 0, ɢɧɞɟɤɫ ɩɨɫɥɟɞɧɟɝɨ
ɷɥɟɦɟɧɬɚ ɧɚ ɟɞɢɧɢɰɭ ɦɟɧɶɲɟ ɱɢɫɥɚ ɷɥɟɦɟɧɬɨɜ ɜ ɦɚɫɫɢɜɟ. Ɇɚɫɫɢɜ ɦɨɠɟɬ
ɢɧɢɰɢɚɥɢɡɢɪɨɜɚɬɶɫɹ ɫɩɢɫɤɨɦ ɡɧɚɱɟɧɢɣ ɜ ɮɢɝɭɪɧɵɯ ɫɤɨɛɤɚɯ:
     int b[4]={1, 2, 3, 4};
    ɉɪɢ ɧɚɥɢɱɢɢ ɫɩɢɫɤɚ ɢɧɢɰɢɚɥɢɡɚɰɢɢ, ɨɯɜɚɬɵɜɚɸɳɟɝɨ ɜɫɟ ɷɥɟɦɟɧɬɵ
ɦɚɫɫɢɜɚ, ɦɨɠɧɨ ɧɟ ɭɤɚɡɵɜɚɬɶ ɱɢɫɥɨ ɷɥɟɦɟɧɬɨɜ ɦɚɫɫɢɜɚ, ɨɧɨ ɛɭɞɟɬ ɨɩɪɟɞɟ-
ɥɟɧɨ ɤɨɦɩɢɥɹɬɨɪɨɦ:
     int c[]={1, 2, 3};      // Ɇɚɫɫɢɜ ɢɡ ɬɪɟɯ ɷɥɟɦɟɧɬɨɜ ɬɢɩɚ int
    Ɇɧɨɝɨɦɟɪɧɵɟ ɦɚɫɫɢɜɵ ɪɚɫɫɦɚɬɪɢɜɚɸɬɫɹ ɤɚɤ ɦɚɫɫɢɜɵ ɦɚɫɫɢɜɨɜ, ɢ ɞɥɹ
ɤɚɠɞɨɝɨ ɢɡɦɟɪɟɧɢɹ ɭɤɚɡɵɜɚɟɬɫɹ ɱɢɫɥɨ ɷɥɟɦɟɧɬɨɜ:
     double aa[2][2]={1, 2, 3, 4};                    // Ɇɚɬɪɢɰɚ 2*2
     Ɇɚɫɫɢɜɵ ɬɢɩɚ char ɦɨɝɭɬ ɢɧɢɰɢɚɥɢɡɢɪɨɜɚɬɶɫɹ ɫɬɪɨɤɨɜɵɦ ɥɢɬɟɪɚɥɨɦ.
ɋɬɪɨɤɨɜɵɣ ɥɢɬɟɪɚɥ - ɷɬɨ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɥɸɛɵɯ ɫɢɦɜɨɥɨɜ, ɤɪɨɦɟ ɤɚ-
ɜɵɱɟɤ ɢ ɨɛɪɚɬɧɨɣ ɤɨɫɨɣ ɱɟɪɬɵ, ɡɚɤɥɸɱɟɧɧɚɹ ɜ ɤɚɜɵɱɤɢ. ȿɫɥɢ ɫɬɪɨɤɨɜɵɣ
ɥɢɬɟɪɚɥ ɧɟ ɭɦɟɳɚɟɬɫɹ ɧɚ ɨɞɧɨɣ ɫɬɪɨɤɟ, ɟɝɨ ɦɨɠɧɨ ɩɪɟɪɜɚɬɶ ɫɢɦɜɨɥɨɦ «\»
ɢ ɩɪɨɞɨɥɠɢɬɶ ɫ ɧɚɱɚɥɚ ɫɥɟɞɭɸɳɟɣ ɫɬɪɨɤɢ. ȼ ɫɬɚɧɞɚɪɬɟ C++ ɩɪɟɞɭɫɦɨɬɪɟɧɚ
ɢ ɞɪɭɝɚɹ ɜɨɡɦɨɠɧɨɫɬɶ ɡɚɩɢɫɢ ɞɥɢɧɧɵɯ ɥɢɬɟɪɚɥɨɜ ɜ ɜɢɞɟ ɧɟɫɤɨɥɶɤɢɯ ɡɚɩɢ-
ɫɚɧɧɵɯ ɩɨɞɪɹɞ ɫɬɪɨɤɨɜɵɯ ɥɢɬɟɪɚɥɨɜ. ȿɫɥɢ ɦɟɠɞɭ ɫɬɪɨɤɨɜɵɦɢ ɥɢɬɟɪɚɥɚɦɢ
ɧɟɬ ɫɢɦɜɨɥɨɜ, ɨɬɥɢɱɧɵɯ ɨɬ ɩɪɨɛɟɥɨɜ, ɬɚɤɢɟ ɥɢɬɟɪɚɥɵ ɫɥɢɜɚɸɬɫɹ ɤɨɦɩɢɥɹ-
ɬɨɪɨɦ ɜ ɨɞɢɧ.
     ɉɪɢ ɪɚɡɦɟɳɟɧɢɢ ɜ ɩɚɦɹɬɢ ɜ ɤɨɧɰɟ ɫɬɪɨɤɨɜɨɝɨ ɥɢɬɟɪɚɥɚ ɞɨɛɚɜɥɹɟɬɫɹ
ɫɢɦɜɨɥ '\0', ɬɨ ɟɫɬɶ ɧɭɥɟɜɨɣ ɛɚɣɬ. ɋɬɪɨɤɨɜɵɣ ɥɢɬɟɪɚɥ ɦɨɠɟɬ ɩɪɢɦɟɧɹɬɶ-
ɫɹ ɢ ɞɥɹ ɢɧɢɰɢɚɥɢɡɚɰɢɢ ɭɤɚɡɚɬɟɥɹ ɧɚ ɬɢɩ char:
     char str1[11]="ɗɬɨ ɫɬɪɨɤɚ",
     char str2[]="Ɋɚɡɦɟɪ ɷɬɨɝɨ ɦɚɫɫɢɜɚ ɨɩɪɟɞɟɥɹɟɬɫɹ"
                 " ɱɢɫɥɨɦ ɡɧɚɤɨɜ ɜ ɥɢɬɟɪɚɥɟ + 1";
     char *pstr="ɍɤɚɡɚɬɟɥɶ ɫ ɢɧɢɰɢɚɥɢɡɚɰɢɟɣ ɫɬɪɨɤɨɣ";
ɂɦɹ ɦɚɫɫɢɜɚ ɜ ɋɢ/ɋɢ++ ɹɜɥɹɟɬɫɹ ɭɤɚɡɚɬɟɥɟɦ-ɤɨɧɫɬɚɧɬɨɣ, ɫɫɵɥɚɸɳɢɦɫɹ ɧɚ
ɩɟɪɜɵɣ ɷɥɟɦɟɧɬ ɦɚɫɫɢɜɚ, ɢɦɟɸɳɢɣ ɢɧɞɟɤɫ, ɪɚɜɧɵɣ ɧɭɥɸ. Ⱦɥɹ ɨɛɪɚɳɟɧɢɹ
ɤ ɷɥɟɦɟɧɬɭ ɦɚɫɫɢɜɚ ɭɤɚɡɵɜɚɟɬɫɹ ɢɞɟɧɬɢɮɢɤɚɬɨɪ ɦɚɫɫɢɜɚ ɢ ɢɧɞɟɤɫ ɷɥɟɦɟɧɬɚ
ɜ ɤɪɭɝɥɵɯ ɫɤɨɛɤɚɯ, ɧɚɩɪɢɦɟɪ, c[2], aa[0][1].




                                  13