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

UptoLike

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

Ɇɚɤɪɨɫɵ FILE, DATE ɢ TIME ɦɨɝɭɬ ɢɫɩɨɥɶɡɨɜɚɬɶɫɹ ɜ ɫɨɨɛɳɟɧɢɹɯ, ɜɵ-
ɞɚɜɚɟɦɵɯ ɜ ɧɚɱɚɥɟ ɩɪɨɝɪɚɦɦɵ, ɞɥɹ ɭɤɚɡɚɧɢɹ, ɤɚɤɚɹ ɜɟɪɫɢɹ ɩɪɨɝɪɚɦɦɵ ɢɫ-
ɩɨɥɶɡɭɟɬɫɹ, ɧɚɩɪɢɦɟɪ
cout<<“\n Ɏɚɣɥ “<<__FILE__<<“Ɉɬ “<<__DATE__<<“\n”;
Ɇɚɤɪɨɫ PASCAL ɩɪɢɦɟɧɹɟɬɫɹ ɩɪɢ ɨɩɢɫɚɧɢɢ ɮɭɧɤɰɢɣ, ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɯ
ɞɥɹ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɜ ɩɪɨɝɪɚɦɦɚɯ, ɧɚɩɢɫɚɧɧɵɯ ɧɚ ɹɡɵɤɟ Pascal, ɚ ɬɚɤɠɟ
ɮɭɧɤɰɢɣ, ɜɵɡɵɜɚɟɦɵɯ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɨɣ MS Windows.
ɉɪɢ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɢ ɧɚ ɋɢ ɞɢɪɟɤɬɢɜɵ ɬɢɩɚ
#define MAX_LEN 80
ɨɛɵɱɧɨ ɩɪɢɦɟɧɹɸɬɫɹ ɞɥɹ ɡɚɞɚɧɢɹ ɢɦɟɧɨɜɚɧɧɵɯ ɤɨɧɫɬɚɧɬ. ȼɜɟɞɟɧɢɟ ɨɩɢɫɚ-
ɬɟɥɹ
const ɜ ɩɨɫɥɟɞɧɢɟ ɜɟɪɫɢɢ ɋɢ ɢ ɜ ɋɢ++ ɩɨɡɜɨɥɹɟɬ ɨɩɪɟɞɟɥɹɬɶ ɢɦɟɧɨ-
ɜɚɧɧɵɟ ɤɨɧɫɬɚɧɬɵ ɬɚɤ ɠɟ, ɤɚɤ ɢ ɨɛɵɱɧɵɟ ɩɟɪɟɦɟɧɧɵɟ.
3.3. Ɇɚɤɪɨɨɩɪɟɞɟɥɟɧɢɹ (ɦɚɤɪɨɫɵ)
Ɋɚɫɫɦɨɬɪɟɧɧɵɣ ɜɵɲɟ ɜɚɪɢɚɧɬ ɞɢɪɟɤɬɢɜɵ #define ɹɜɥɹɟɬɫɹ ɱɚɫɬɧɵɦ
ɫɥɭɱɚɟɦ. ɉɨɥɧɵɣ ɫɢɧɬɚɤɫɢɫ ɷɬɨɣ ɞɢɪɟɤɬɢɜɵ ɢɦɟɟɬ ɜɢɞ:
#define ɢɞɟɧɬɢɮɢɤɚɬɨɪ(ɩɚɪɚɦɟɬɪɵ) ɫɩɢɫɨɤ_ɡɚɦɟɧɵ
ɉɚɪɚɦɟɬɪɵ ɡɚɞɚɸɬɫɹ ɢɯ ɢɦɟɧɚɦɢ, ɫɩɢɫɨɤ ɡɚɦɟɧɵ - ɷɬɨ ɬɟɤɫɬ ɧɚ C, C++,
ɫɨɞɟɪɠɚɳɢɣ ɢɦɟɧɚ ɩɚɪɚɦɟɬɪɨɜ, ɧɚɩɪɢɦɟɪ:
#define MAX(a,b) ((a)>(b))?(a):(b)
#define PRINT(a) cout<<#a<<“=“<<(a)<<endl;
ȿɫɥɢ ɜ ɨɛɥɚɫɬɢ ɞɟɣɫɬɜɢɹ ɷɬɢɯ ɦɚɤɪɨɨɩɪɟɞɟɥɟɧɢɣ ɜɫɬɪɟɬɢɬɫɹ ɬɟɤɫɬ
x=MAX(y+p, s);
ɬɨ ɨɧ ɛɭɞɟɬ ɡɚɦɟɧɟɧ ɧɚ ɜɵɪɚɠɟɧɢɟ
x=((y+p)>(s))?(y+p):(s);
Ɉɩɟɪɚɬɨɪ PRINT(x) ɛɭɞɟɬ ɡɚɦɟɧɟɧ ɧɚ
cout<<“x”<<“=“<<(x)<<endl;
Ɂɧɚɤ «#» ɩɟɪɟɞ ɢɦɟɧɟɦ ɩɚɪɚɦɟɬɪɚ ɨɡɧɚɱɚɟɬ, ɱɬɨ ɡɧɚɱɟɧɢɟ ɚɪɝɭɦɟɧɬɚ
ɪɚɫɫɦɚɬɪɢɜɚɟɬɫɹ ɤɚɤ ɫɬɪɨɤɨɜɵɣ ɥɢɬɟɪɚɥ. ȿɫɥɢ ɦɟɠɞɭ ɞɜɭɦɹ ɩɚɪɚɦɟɬɪɚɦɢ ɜ
ɦɚɤɪɨɪɚɫɲɢɪɟɧɢɢ ɫɬɨɹɬ ɡɧɚɤɢ
«##», ɬɨ ɡɧɚɱɟɧɢɹ ɚɪɝɭɦɟɧɬɨɜ ɫɰɟɩɥɹɸɬɫɹ
ɩɨ ɩɪɚɜɢɥɭ ɫɰɟɩɥɟɧɢɹ ɫɬɪɨɤ, ɧɚɩɪɢɦɟɪ,
#define VAR(a,b) (a##b)
x=d[VAR(i,j)]; // x=d[(ij)];
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɦɚɤɪɨɫɨɜ ɜ ɪɹɞɟ ɫɥɭɱɚɟɜ ɩɨɡɜɨɥɹɟɬ ɫɨɤɪɚɬɢɬɶ ɢɫɯɨɞ-
ɧɵɣ ɬɟɤɫɬ ɩɪɨɝɪɚɦɦɵ ɢ ɫɞɟɥɚɬɶ ɟɝɨ ɛɨɥɟɟ ɧɚɝɥɹɞɧɵɦ. ɇɚɩɪɢɦɟɪ, ɟɫɥɢ ɩɨ-
ɦɟɫɬɢɬɶ ɜ ɮɚɣɥ-ɡɚɝɨɥɨɜɨɤ ɦɚɤɪɨɫɵ
#if defined(__cplusplus)
#define _PTRDEF(name) typedef name *P##name;
#define _REFDEF(name) typedef name &R##name;
#define _STRUCTDEF(name) struct name;
#endif
ɬɨ ɦɵ ɩɨɥɭɱɢɦ ɜɨɡɦɨɠɧɨɫɬɶ ɨɞɧɨɣ ɫɬɪɨɤɨɣ ɩɪɨɝɪɚɦɦɵ
_STRUCTDEF(MyStruct)
39
    Ɇɚɤɪɨɫɵ FILE, DATE ɢ TIME ɦɨɝɭɬ ɢɫɩɨɥɶɡɨɜɚɬɶɫɹ ɜ ɫɨɨɛɳɟɧɢɹɯ, ɜɵ-
ɞɚɜɚɟɦɵɯ ɜ ɧɚɱɚɥɟ ɩɪɨɝɪɚɦɦɵ, ɞɥɹ ɭɤɚɡɚɧɢɹ, ɤɚɤɚɹ ɜɟɪɫɢɹ ɩɪɨɝɪɚɦɦɵ ɢɫ-
ɩɨɥɶɡɭɟɬɫɹ, ɧɚɩɪɢɦɟɪ
     cout<<“\n Ɏɚɣɥ “<<__FILE__<<“Ɉɬ “<<__DATE__<<“\n”;
    Ɇɚɤɪɨɫ PASCAL ɩɪɢɦɟɧɹɟɬɫɹ ɩɪɢ ɨɩɢɫɚɧɢɢ ɮɭɧɤɰɢɣ, ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɯ
ɞɥɹ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɜ ɩɪɨɝɪɚɦɦɚɯ, ɧɚɩɢɫɚɧɧɵɯ ɧɚ ɹɡɵɤɟ Pascal, ɚ ɬɚɤɠɟ
ɮɭɧɤɰɢɣ, ɜɵɡɵɜɚɟɦɵɯ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɨɣ MS Windows.
    ɉɪɢ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɢ ɧɚ ɋɢ ɞɢɪɟɤɬɢɜɵ ɬɢɩɚ
     #define MAX_LEN 80
ɨɛɵɱɧɨ ɩɪɢɦɟɧɹɸɬɫɹ ɞɥɹ ɡɚɞɚɧɢɹ ɢɦɟɧɨɜɚɧɧɵɯ ɤɨɧɫɬɚɧɬ. ȼɜɟɞɟɧɢɟ ɨɩɢɫɚ-
ɬɟɥɹ const ɜ ɩɨɫɥɟɞɧɢɟ ɜɟɪɫɢɢ ɋɢ ɢ ɜ ɋɢ++ ɩɨɡɜɨɥɹɟɬ ɨɩɪɟɞɟɥɹɬɶ ɢɦɟɧɨ-
ɜɚɧɧɵɟ ɤɨɧɫɬɚɧɬɵ ɬɚɤ ɠɟ, ɤɚɤ ɢ ɨɛɵɱɧɵɟ ɩɟɪɟɦɟɧɧɵɟ.

3.3. Ɇɚɤɪɨɨɩɪɟɞɟɥɟɧɢɹ (ɦɚɤɪɨɫɵ)

    Ɋɚɫɫɦɨɬɪɟɧɧɵɣ ɜɵɲɟ ɜɚɪɢɚɧɬ ɞɢɪɟɤɬɢɜɵ #define ɹɜɥɹɟɬɫɹ ɱɚɫɬɧɵɦ
ɫɥɭɱɚɟɦ. ɉɨɥɧɵɣ ɫɢɧɬɚɤɫɢɫ ɷɬɨɣ ɞɢɪɟɤɬɢɜɵ ɢɦɟɟɬ ɜɢɞ:
     #define ɢɞɟɧɬɢɮɢɤɚɬɨɪ(ɩɚɪɚɦɟɬɪɵ) ɫɩɢɫɨɤ_ɡɚɦɟɧɵ
    ɉɚɪɚɦɟɬɪɵ ɡɚɞɚɸɬɫɹ ɢɯ ɢɦɟɧɚɦɢ, ɫɩɢɫɨɤ ɡɚɦɟɧɵ - ɷɬɨ ɬɟɤɫɬ ɧɚ C, C++,
ɫɨɞɟɪɠɚɳɢɣ ɢɦɟɧɚ ɩɚɪɚɦɟɬɪɨɜ, ɧɚɩɪɢɦɟɪ:
     #define MAX(a,b) ((a)>(b))?(a):(b)
     #define PRINT(a) cout<<#a<<“=“<<(a)<(s))?(y+p):(s);
    Ɉɩɟɪɚɬɨɪ PRINT(x) ɛɭɞɟɬ ɡɚɦɟɧɟɧ ɧɚ
     cout<<“x”<<“=“<<(x)<