ВУЗ:
Составители:
Рубрика:
friend TPoint operator + (const TPoint& one,
const TPoint& two);
friend int operator == (const TPoint& one,
const TPoint& two);
friend int operator != (const TPoint& one,
const TPoint& two);
};
ɉɨɥɧɨɟ ɨɩɪɟɞɟɥɟɧɢɟ ɷɬɢɯ ɨɩɟɪɚɰɢɣ ɞɥɹ ɨɛɴɟɤɬɨɜ ɤɥɚɫɫɚ
TPoint ɢɦɟɟɬ ɜɢɞ
inline TPoint& TPoint::operator += (const TPoint& adder)
{
x+=adder.x; y+=adder.y; return *this;
}
inline TPoint& TPoint::operator -= (const TPoint& subber)
{
x-=subber.x; y-=subber.y; return *this;
}
Ɉɫɬɚɥɶɧɵɟ ɨɩɟɪɚɰɢɢ ɨɩɪɟɞɟɥɹɸɬɫɹ ɚɧɚɥɨɝɢɱɧɵɦ ɨɛɪɚɡɨɦ.
ɉɭɫɬɶ ɜ ɩɪɨɝɪɚɦɦɟ ɢɦɟɸɬɫɹ ɨɛɴɹɜɥɟɧɢɹ:
TPoint x(12,3), y(21,30), z(18,30);
Ɍɨɝɞɚ ɦɨɠɧɨ ɡɚɩɢɫɚɬɶ
x+=y; y-=z; TPoint r=x+z:
Ɉɛɳɢɟ ɩɪɚɜɢɥɚ ɩɟɪɟɨɩɪɟɞɟɥɟɧɢɹ ɨɩɟɪɚɰɢɣ ɫɜɨɞɹɬɫɹ ɤ ɫɥɟɞɭɸɳɟɦɭ:
x Ⱦɜɭɦɟɫɬɧɵɟ ɨɩɟɪɚɰɢɢ ɞɨɥɠɧɵ ɢɦɟɬɶ ɞɜɚ ɩɚɪɚɦɟɬɪɚ, ɨɞɧɨɦɟɫɬɧɵɟ –
ɨɞɢɧ ɩɚɪɚɦɟɬɪ, ɩɪɢɱɟɦ ɟɫɥɢ ɨɩɟɪɚɰɢɹ ɨɛɴɹɜɥɟɧɚ ɤɚɤ ɤɨɦɩɨɧɟɧɬɚ
ɤɥɚɫɫɚ, ɬɨ ɧɟɹɜɧɵɦ ɩɟɪɜɵɦ ɨɩɟɪɚɧɞɨɦ ɹɜɥɹɟɬɫɹ ɷɤɡɟɦɩɥɹɪ ɨɛɴɟɤɬɚ
(ɫɥɟɞɨɜɚɬɟɥɶɧɨ, ɩɪɢ ɨɩɪɟɞɟɥɟɧɢɢ ɞɜɭɦɟɫɬɧɨɣ ɨɩɟɪɚɰɢɢ ɛɭɞɟɬ ɡɚɞɚ-
ɜɚɬɶɫɹ ɨɞɢɧ ɩɚɪɚɦɟɬɪ, ɨɞɧɨɦɟɫɬɧɚɹ ɨɩɟɪɚɰɢɹ ɨɛɴɹɜɥɹɟɬɫɹ ɫ ɩɭɫɬɵɦ
ɫɩɢɫɤɨɦ ɩɚɪɚɦɟɬɪɨɜ). ȿɫɥɢ ɨɩɟɪɚɰɢɹ ɩɟɪɟɨɩɪɟɞɟɥɹɟɬɫɹ ɜɧɟ ɤɥɚɫɫɚ (ɫ
ɨɩɢɫɚɬɟɥɟɦ
friend), ɬɨ ɞɥɹ ɞɜɭɦɟɫɬɧɨɣ ɨɩɟɪɚɰɢɢ ɞɨɥɠɧɵ ɛɵɬɶ ɡɚ-
ɞɚɧɵ ɞɜɚ ɩɚɪɚɦɟɬɪɚ, ɞɥɹ ɨɞɧɨɦɟɫɬɧɨɣ ɨɩɟɪɚɰɢɢ – ɨɞɢɧ ɩɚɪɚɦɟɬɪ.
x ɉɪɢ ɩɟɪɟɨɩɪɟɞɟɥɟɧɢɢ ɫɨɯɪɚɧɹɟɬɫɹ ɩɪɢɨɪɢɬɟɬ ɢɫɯɨɞɧɨɣ ɨɩɟɪɚɰɢɢ, ɬɨ
ɟɫɬɶ ɨɩɟɪɚɰɢɹ
«+» ɛɭɞɟɬ ɜɵɩɨɥɧɹɬɶɫɹ ɪɚɧɶɲɟ ɨɩɟɪɚɰɢɢ «=» ɢɬɚɤɞɚ-
ɥɟɟ.
x ɉɪɢ ɩɟɪɟɨɩɪɟɞɟɥɟɧɢɢ ɧɟ ɧɚɫɥɟɞɭɸɬɫɹ ɫɜɨɣɫɬɜɚ ɤɨɦɦɭɬɚɬɢɜɧɨɫɬɢ ɢ
ɚɫɫɨɰɢɚɬɢɜɧɨɫɬɢ, ɬɨ ɟɫɬɶ ɪɟɡɭɥɶɬɚɬ ɜɵɪɚɠɟɧɢɹ
ɯ+y-z ɦɨɠɟɬ ɨɬɥɢ-
ɱɚɬɶɫɹ ɨɬ ɪɟɡɭɥɶɬɚɬɚ ɜɵɪɚɠɟɧɢɹ
y-z+x ɢ ɡɚɜɢɫɢɬ ɨɬ ɬɨɝɨ, ɤɚɤ ɨɩɪɟɞɟ-
ɥɟɧɵ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɟ ɨɩɟɪɚɰɢɢ.
x ɇɟ ɞɨɩɭɫɤɚɟɬɫɹ ɩɟɪɟɨɩɪɟɞɟɥɟɧɢɟ ɨɩɟɪɚɰɢɣ
«.» (ɬɨɱɤɚ), «.*» (ɨɛɪɚ-
ɳɟɧɢɟ ɤ ɭɤɚɡɚɬɟɥɸ ɧɚ ɤɨɦɩɨɧɟɧɬɭ ɤɥɚɫɫɚ ɢɥɢ ɫɬɪɭɤɬɭɪɵ),
«::» (ɪɚɡ-
ɪɟɲɟɧɢɟ ɤɨɧɬɟɤɫɬɚ), ɚ ɬɚɤɠɟ ɨɩɟɪɚɰɢɣ
«#» ɢ «##», ɢɫɩɨɥɶɡɭɟɦɵɯ
ɩɪɢ ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɣ ɨɛɪɚɛɨɬɤɟ.
x ɉɟɪɟɨɩɪɟɞɟɥɹɟɦɵɟ ɨɩɟɪɚɰɢɢ
«=» (ɩɪɢɫɜɚɢɜɚɧɢɟ), «()» (ɮɭɧɤɰɢɹ),
«[]» (ɢɧɞɟɤɫ), «->» (ɨɛɪɚɳɟɧɢɟ ɤ ɤɨɦɩɨɧɟɧɬɟ ɤɥɚɫɫɚ ɩɨ ɭɤɚɡɚɬɟɥɸ)
ɜɫɟɝɞɚ ɞɨɥɠɧɵ ɛɵɬɶ ɤɨɦɩɨɧɟɧɬɚɦɢ ɤɥɚɫɫɚ ɢ ɧɟ ɦɨɝɭɬ ɛɵɬɶ
static.
55
friend TPoint operator + (const TPoint& one, const TPoint& two); friend int operator == (const TPoint& one, const TPoint& two); friend int operator != (const TPoint& one, const TPoint& two); }; ɉɨɥɧɨɟ ɨɩɪɟɞɟɥɟɧɢɟ ɷɬɢɯ ɨɩɟɪɚɰɢɣ ɞɥɹ ɨɛɴɟɤɬɨɜ ɤɥɚɫɫɚ TPoint ɢɦɟɟɬ ɜɢɞ inline TPoint& TPoint::operator += (const TPoint& adder) { x+=adder.x; y+=adder.y; return *this; } inline TPoint& TPoint::operator -= (const TPoint& subber) { x-=subber.x; y-=subber.y; return *this; } Ɉɫɬɚɥɶɧɵɟ ɨɩɟɪɚɰɢɢ ɨɩɪɟɞɟɥɹɸɬɫɹ ɚɧɚɥɨɝɢɱɧɵɦ ɨɛɪɚɡɨɦ. ɉɭɫɬɶ ɜ ɩɪɨɝɪɚɦɦɟ ɢɦɟɸɬɫɹ ɨɛɴɹɜɥɟɧɢɹ: TPoint x(12,3), y(21,30), z(18,30); Ɍɨɝɞɚ ɦɨɠɧɨ ɡɚɩɢɫɚɬɶ x+=y; y-=z; TPoint r=x+z: Ɉɛɳɢɟ ɩɪɚɜɢɥɚ ɩɟɪɟɨɩɪɟɞɟɥɟɧɢɹ ɨɩɟɪɚɰɢɣ ɫɜɨɞɹɬɫɹ ɤ ɫɥɟɞɭɸɳɟɦɭ: x Ⱦɜɭɦɟɫɬɧɵɟ ɨɩɟɪɚɰɢɢ ɞɨɥɠɧɵ ɢɦɟɬɶ ɞɜɚ ɩɚɪɚɦɟɬɪɚ, ɨɞɧɨɦɟɫɬɧɵɟ – ɨɞɢɧ ɩɚɪɚɦɟɬɪ, ɩɪɢɱɟɦ ɟɫɥɢ ɨɩɟɪɚɰɢɹ ɨɛɴɹɜɥɟɧɚ ɤɚɤ ɤɨɦɩɨɧɟɧɬɚ ɤɥɚɫɫɚ, ɬɨ ɧɟɹɜɧɵɦ ɩɟɪɜɵɦ ɨɩɟɪɚɧɞɨɦ ɹɜɥɹɟɬɫɹ ɷɤɡɟɦɩɥɹɪ ɨɛɴɟɤɬɚ (ɫɥɟɞɨɜɚɬɟɥɶɧɨ, ɩɪɢ ɨɩɪɟɞɟɥɟɧɢɢ ɞɜɭɦɟɫɬɧɨɣ ɨɩɟɪɚɰɢɢ ɛɭɞɟɬ ɡɚɞɚ- ɜɚɬɶɫɹ ɨɞɢɧ ɩɚɪɚɦɟɬɪ, ɨɞɧɨɦɟɫɬɧɚɹ ɨɩɟɪɚɰɢɹ ɨɛɴɹɜɥɹɟɬɫɹ ɫ ɩɭɫɬɵɦ ɫɩɢɫɤɨɦ ɩɚɪɚɦɟɬɪɨɜ). ȿɫɥɢ ɨɩɟɪɚɰɢɹ ɩɟɪɟɨɩɪɟɞɟɥɹɟɬɫɹ ɜɧɟ ɤɥɚɫɫɚ (ɫ ɨɩɢɫɚɬɟɥɟɦ friend), ɬɨ ɞɥɹ ɞɜɭɦɟɫɬɧɨɣ ɨɩɟɪɚɰɢɢ ɞɨɥɠɧɵ ɛɵɬɶ ɡɚ- ɞɚɧɵ ɞɜɚ ɩɚɪɚɦɟɬɪɚ, ɞɥɹ ɨɞɧɨɦɟɫɬɧɨɣ ɨɩɟɪɚɰɢɢ – ɨɞɢɧ ɩɚɪɚɦɟɬɪ. x ɉɪɢ ɩɟɪɟɨɩɪɟɞɟɥɟɧɢɢ ɫɨɯɪɚɧɹɟɬɫɹ ɩɪɢɨɪɢɬɟɬ ɢɫɯɨɞɧɨɣ ɨɩɟɪɚɰɢɢ, ɬɨ ɟɫɬɶ ɨɩɟɪɚɰɢɹ «+» ɛɭɞɟɬ ɜɵɩɨɥɧɹɬɶɫɹ ɪɚɧɶɲɟ ɨɩɟɪɚɰɢɢ «=» ɢ ɬɚɤ ɞɚ- ɥɟɟ. x ɉɪɢ ɩɟɪɟɨɩɪɟɞɟɥɟɧɢɢ ɧɟ ɧɚɫɥɟɞɭɸɬɫɹ ɫɜɨɣɫɬɜɚ ɤɨɦɦɭɬɚɬɢɜɧɨɫɬɢ ɢ ɚɫɫɨɰɢɚɬɢɜɧɨɫɬɢ, ɬɨ ɟɫɬɶ ɪɟɡɭɥɶɬɚɬ ɜɵɪɚɠɟɧɢɹ ɯ+y-z ɦɨɠɟɬ ɨɬɥɢ- ɱɚɬɶɫɹ ɨɬ ɪɟɡɭɥɶɬɚɬɚ ɜɵɪɚɠɟɧɢɹ y-z+x ɢ ɡɚɜɢɫɢɬ ɨɬ ɬɨɝɨ, ɤɚɤ ɨɩɪɟɞɟ- ɥɟɧɵ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɟ ɨɩɟɪɚɰɢɢ. x ɇɟ ɞɨɩɭɫɤɚɟɬɫɹ ɩɟɪɟɨɩɪɟɞɟɥɟɧɢɟ ɨɩɟɪɚɰɢɣ «.» (ɬɨɱɤɚ), «.*» (ɨɛɪɚ- ɳɟɧɢɟ ɤ ɭɤɚɡɚɬɟɥɸ ɧɚ ɤɨɦɩɨɧɟɧɬɭ ɤɥɚɫɫɚ ɢɥɢ ɫɬɪɭɤɬɭɪɵ), «::» (ɪɚɡ- ɪɟɲɟɧɢɟ ɤɨɧɬɟɤɫɬɚ), ɚ ɬɚɤɠɟ ɨɩɟɪɚɰɢɣ «#» ɢ «##», ɢɫɩɨɥɶɡɭɟɦɵɯ ɩɪɢ ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɣ ɨɛɪɚɛɨɬɤɟ. x ɉɟɪɟɨɩɪɟɞɟɥɹɟɦɵɟ ɨɩɟɪɚɰɢɢ «=» (ɩɪɢɫɜɚɢɜɚɧɢɟ), «()» (ɮɭɧɤɰɢɹ), «[]» (ɢɧɞɟɤɫ), «->» (ɨɛɪɚɳɟɧɢɟ ɤ ɤɨɦɩɨɧɟɧɬɟ ɤɥɚɫɫɚ ɩɨ ɭɤɚɡɚɬɟɥɸ) ɜɫɟɝɞɚ ɞɨɥɠɧɵ ɛɵɬɶ ɤɨɦɩɨɧɟɧɬɚɦɢ ɤɥɚɫɫɚ ɢ ɧɟ ɦɨɝɭɬ ɛɵɬɶ static. 55
Страницы
- « первая
- ‹ предыдущая
- …
- 53
- 54
- 55
- 56
- 57
- …
- следующая ›
- последняя »