ВУЗ:
Составители:
Рубрика:
ɋɬɚɬɢɱɟɫɤɢɟ ɤɨɦɩɨɧɟɧɬɵ-ɮɭɧɤɰɢɢ ɦɨɝɭɬ ɜɵɡɵɜɚɬɶɫɹ ɞɨ ɫɨɡɞɚɧɢɹ ɷɤ-
ɡɟɦɩɥɹɪɨɜ ɨɛɴɟɤɬɨɜ ɷɬɨɝɨ ɤɥɚɫɫɚ ɢ ɩɨɷɬɨɦɭ ɢɦɟɸɬ ɞɨɫɬɭɩ ɬɨɥɶɤɨ ɤ ɫɬɚɬɢ-
ɱɟɫɤɢɦ ɞɚɧɧɵɦ ɤɥɚɫɫɚ:
class X
{
static int sx1, sx2;
static void fsx(int k);
int x1, x2;
/* Ⱦɪɭɝɢɟ ɤɨɦɩɨɧɟɧɬɵ ɤɥɚɫɫɚ X */
}
int X::sx1=1;
int X::sx2=2;
int main()
{
...
X::fsx(3);
...
}
4.8. ɉɟɪɟɨɩɪɟɞɟɥɟɧɢɟ (ɩɟɪɟɝɪɭɡɤɚ) ɨɩɟɪɚɰɢɣ
ȼ ɹɡɵɤɚɯ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɨɩɪɟɞɟɥɟɧɚ ɫɟɦɚɧɬɢɤɚ ɨɩɟɪɚɰɢɣ, ɜɵɩɨɥ-
ɧɹɟɦɵɯ ɧɚɞ ɛɚɡɨɜɵɦɢ (ɩɪɟɞɨɩɪɟɞɟɥɟɧɧɵɦɢ) ɬɢɩɚɦɢ ɞɚɧɧɵɯ, ɧɚɩɪɢɦɟɪ,
ɟɫɥɢ
x, y ɢ z - ɩɟɪɟɦɟɧɧɵɟ ɬɢɩɚ float, ɬɨ ɡɚɩɢɫɶ x=y+z; ɩɪɟɞɩɨɥɚɝɚɟɬ
ɢɧɬɭɢɬɢɜɧɨ ɨɱɟɜɢɞɧɵɟ ɞɟɣɫɬɜɢɹ: ɫɥɨɠɟɧɢɟ
x ɢ y ɢ ɩɪɢɫɜɚɢɜɚɧɢɟ ɩɟɪɟɦɟɧ-
ɧɨɣ z ɩɨɥɭɱɟɧɧɨɣ ɫɭɦɦɵ.
ɀɟɥɚɬɟɥɶɧɨ ɛɵɥɨ ɛɵ ɢ ɞɥɹ ɬɢɩɨɜ, ɨɩɪɟɞɟɥɹɟɦɵɯ ɜ ɩɪɨɝɪɚɦɦɟ, ɜ ɬɨɦ
ɱɢɫɥɟ ɞɥɹ ɤɥɚɫɫɨɜ, ɨɩɪɟɞɟɥɢɬɶ ɫɟɦɚɧɬɢɤɭ ɢ ɚɥɝɨɪɢɬɦɵ ɨɩɟɪɚɰɢɣ ɫɥɨɠɟɧɢɹ,
ɜɵɱɢɬɚɧɢɹ, ɭɦɧɨɠɟɧɢɹ ɢ ɬɚɤ ɞɚɥɟɟ, ɱɬɨɛɵ ɢɦɟɬɶ ɜɨɡɦɨɠɧɨɫɬɶ ɜɦɟɫɬɨ ɜɵ-
ɡɨɜɚ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɯ ɮɭɧɤɰɢɣ ɡɚɩɢɫɵɜɚɬɶ ɩɪɨɫɬɨ
x+y ɢ ɜ ɫɥɭɱɚɟ, ɤɨɝɞɚ x
ɢ
y ɹɜɥɹɸɬɫɹ ɨɛɴɟɤɬɚɦɢ ɧɟɤɨɬɨɪɵɯ ɤɥɚɫɫɨɜ. ȼ C++ ɷɬɨ ɞɨɫɬɢɝɚɟɬɫɹ ɩɟɪɟ-
ɨɩɪɟɞɟɥɟɧɢɟɦ ɢɦɟɸɳɢɯɫɹ ɜ ɹɡɵɤɟ ɨɩɟɪɚɰɢɣ ɞɥɹ ɞɪɭɝɢɯ ɬɢɩɨɜ ɞɚɧɧɵɯ.
ɉɟɪɟɨɩɪɟɞɟɥɟɧɧɚɹ ɨɩɟɪɚɰɢɹ ɨɛɴɹɜɥɹɟɬɫɹ ɬɚɤ:
ɬɢɩ_ɪɟɡɭɥɶɬɚɬɚ operator ɡɧɚɤ_ɨɩɟɪɚɰɢɢ
(ɮɨɪɦɚɥɶɧɵɟ ɩɚɪɚɦɟɬɪɵ)
{
ɨɩɢɫɚɧɢɟ_ɚɥɝɨɪɢɬɦɚ_ɜɵɩɨɥɧɟɧɢɹ_ɨɩɟɪɚɰɢɢ
}
ɇɚɩɪɢɦɟɪ:
class TPoint
{
int x,y;
public:
TPoint& operator += (const TPoint& adder);
TPoint& operator -= (const TPoint& subber);
friend TPoint operator - (const TPoint& one,
const TPoint& two);
54
ɋɬɚɬɢɱɟɫɤɢɟ ɤɨɦɩɨɧɟɧɬɵ-ɮɭɧɤɰɢɢ ɦɨɝɭɬ ɜɵɡɵɜɚɬɶɫɹ ɞɨ ɫɨɡɞɚɧɢɹ ɷɤ- ɡɟɦɩɥɹɪɨɜ ɨɛɴɟɤɬɨɜ ɷɬɨɝɨ ɤɥɚɫɫɚ ɢ ɩɨɷɬɨɦɭ ɢɦɟɸɬ ɞɨɫɬɭɩ ɬɨɥɶɤɨ ɤ ɫɬɚɬɢ- ɱɟɫɤɢɦ ɞɚɧɧɵɦ ɤɥɚɫɫɚ: class X { static int sx1, sx2; static void fsx(int k); int x1, x2; /* Ⱦɪɭɝɢɟ ɤɨɦɩɨɧɟɧɬɵ ɤɥɚɫɫɚ X */ } int X::sx1=1; int X::sx2=2; int main() { ... X::fsx(3); ... } 4.8. ɉɟɪɟɨɩɪɟɞɟɥɟɧɢɟ (ɩɟɪɟɝɪɭɡɤɚ) ɨɩɟɪɚɰɢɣ ȼ ɹɡɵɤɚɯ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɨɩɪɟɞɟɥɟɧɚ ɫɟɦɚɧɬɢɤɚ ɨɩɟɪɚɰɢɣ, ɜɵɩɨɥ- ɧɹɟɦɵɯ ɧɚɞ ɛɚɡɨɜɵɦɢ (ɩɪɟɞɨɩɪɟɞɟɥɟɧɧɵɦɢ) ɬɢɩɚɦɢ ɞɚɧɧɵɯ, ɧɚɩɪɢɦɟɪ, ɟɫɥɢ x, y ɢ z - ɩɟɪɟɦɟɧɧɵɟ ɬɢɩɚ float, ɬɨ ɡɚɩɢɫɶ x=y+z; ɩɪɟɞɩɨɥɚɝɚɟɬ ɢɧɬɭɢɬɢɜɧɨ ɨɱɟɜɢɞɧɵɟ ɞɟɣɫɬɜɢɹ: ɫɥɨɠɟɧɢɟ x ɢ y ɢ ɩɪɢɫɜɚɢɜɚɧɢɟ ɩɟɪɟɦɟɧ- ɧɨɣ z ɩɨɥɭɱɟɧɧɨɣ ɫɭɦɦɵ. ɀɟɥɚɬɟɥɶɧɨ ɛɵɥɨ ɛɵ ɢ ɞɥɹ ɬɢɩɨɜ, ɨɩɪɟɞɟɥɹɟɦɵɯ ɜ ɩɪɨɝɪɚɦɦɟ, ɜ ɬɨɦ ɱɢɫɥɟ ɞɥɹ ɤɥɚɫɫɨɜ, ɨɩɪɟɞɟɥɢɬɶ ɫɟɦɚɧɬɢɤɭ ɢ ɚɥɝɨɪɢɬɦɵ ɨɩɟɪɚɰɢɣ ɫɥɨɠɟɧɢɹ, ɜɵɱɢɬɚɧɢɹ, ɭɦɧɨɠɟɧɢɹ ɢ ɬɚɤ ɞɚɥɟɟ, ɱɬɨɛɵ ɢɦɟɬɶ ɜɨɡɦɨɠɧɨɫɬɶ ɜɦɟɫɬɨ ɜɵ- ɡɨɜɚ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɯ ɮɭɧɤɰɢɣ ɡɚɩɢɫɵɜɚɬɶ ɩɪɨɫɬɨ x+y ɢ ɜ ɫɥɭɱɚɟ, ɤɨɝɞɚ x ɢ y ɹɜɥɹɸɬɫɹ ɨɛɴɟɤɬɚɦɢ ɧɟɤɨɬɨɪɵɯ ɤɥɚɫɫɨɜ. ȼ C++ ɷɬɨ ɞɨɫɬɢɝɚɟɬɫɹ ɩɟɪɟ- ɨɩɪɟɞɟɥɟɧɢɟɦ ɢɦɟɸɳɢɯɫɹ ɜ ɹɡɵɤɟ ɨɩɟɪɚɰɢɣ ɞɥɹ ɞɪɭɝɢɯ ɬɢɩɨɜ ɞɚɧɧɵɯ. ɉɟɪɟɨɩɪɟɞɟɥɟɧɧɚɹ ɨɩɟɪɚɰɢɹ ɨɛɴɹɜɥɹɟɬɫɹ ɬɚɤ: ɬɢɩ_ɪɟɡɭɥɶɬɚɬɚ operator ɡɧɚɤ_ɨɩɟɪɚɰɢɢ (ɮɨɪɦɚɥɶɧɵɟ ɩɚɪɚɦɟɬɪɵ) { ɨɩɢɫɚɧɢɟ_ɚɥɝɨɪɢɬɦɚ_ɜɵɩɨɥɧɟɧɢɹ_ɨɩɟɪɚɰɢɢ } ɇɚɩɪɢɦɟɪ: class TPoint { int x,y; public: TPoint& operator += (const TPoint& adder); TPoint& operator -= (const TPoint& subber); friend TPoint operator - (const TPoint& one, const TPoint& two); 54
Страницы
- « первая
- ‹ предыдущая
- …
- 52
- 53
- 54
- 55
- 56
- …
- следующая ›
- последняя »