ВУЗ:
Составители:
Рубрика:
ɤɥɚɫɫɨɜ ɢ ɪɚɡɪɟɲɚɟɬ ɞɨɫɬɭɩ ɤ ɤɨɦɩɨɧɟɧɬɚɦ ɷɬɨɝɨ ɭɪɨɜɧɹ ɢɡ ɦɟɬɨɞɨɜ ɩɪɨ-
ɢɡɜɨɞɧɨɝɨ ɤɥɚɫɫɚ. ɉɨ ɭɦɨɥɱɚɧɢɸ ɞɥɹ ɜɫɟɯ ɤɨɦɩɨɧɟɧɬ ɤɥɚɫɫɚ ɬɢɩɚ
struct
ɩɪɢɧɢɦɚɟɬɫɹ ɭɪɨɜɟɧɶ ɞɨɫɬɭɩɚ
public, ɧɨ ɦɨɠɧɨ ɹɜɧɨ ɡɚɞɚɜɚɬɶ ɢ ɞɪɭɝɢɟ
ɭɪɨɜɧɢ ɞɨɫɬɭɩɚ, ɭɪɨɜɟɧɶ ɞɨɫɬɭɩɚ ɤ ɤɨɦɩɨɧɟɧɬɚɦ ɤɥɚɫɫɚ ɬɢɩɚ
class ɩɨ
ɭɦɨɥɱɚɧɢɸ
private, ɞɥɹ ɤɥɚɫɫɚ ɬɢɩɚ union ɭɪɨɜɟɧɶ ɞɨɫɬɭɩɚ public, ɤɨ-
ɬɨɪɵɣ ɧɟ ɦɨɠɟɬ ɛɵɬɶ ɢɡɦɟɧɟɧ.
ɇɚɩɪɢɦɟɪ, ɩɭɫɬɶ ɩɪɨɝɪɚɦɦɢɫɬ ɪɟɲɢɥ ɜ ɤɥɚɫɫɟ
TPoint (ɬɨɱɤɚ) ɡɚɩɪɟ-
ɬɢɬɶ ɜɧɟɲɧɢɣ ɞɨɫɬɭɩ ɤ ɤɨɨɪɞɢɧɚɬɚɦ ɬɨɱɤɢ ɢ ɪɚɡɪɟɲɢɬɶ ɜɧɟɲɧɢɣ ɞɨɫɬɭɩ ɤ
ɦɟɬɨɞɚɦ ɩɟɪɟɦɟɳɟɧɢɹ ɬɨɱɤɢ ɧɚ ɩɥɨɫɤɨɫɬɢ. Ɉɩɢɫɚɧɢɟ ɤɥɚɫɫɚ
TPoint ɦɨɠɧɨ
ɩɨɫɬɪɨɢɬɶ ɬɚɤ:
class TPoint
{
private:
int x,y;
public:
void movePoint(int newx, int newy); // ɩɟɪɟɧɨɫ ɬɨɱɤɢ
void relmove (int dx, int dy); // ɫɞɜɢɝ ɬɨɱɤɢ
int getx() {return x;};
int gety() {return y;};
};
Ɉɩɢɫɚɧɢɟ ɬɟɥɚ ɤɨɦɩɨɧɟɧɬɵ-ɮɭɧɤɰɢɢ ɦɨɠɟɬ ɛɵɬɶ ɜɤɥɸɱɟɧɨ ɜ ɨɩɢɫɚ-
ɧɢɟ ɤɥɚɫɫɚ, ɤɚɤ ɷɬɨ ɫɞɟɥɚɧɨ ɜ ɩɪɢɦɟɪɟ ɞɥɹ ɮɭɧɤɰɢɣ
getx ɢ gety, ɢɥɢ ɩɨ-
ɦɟɳɟɧɨ ɜɧɟ ɨɩɢɫɚɧɢɹ ɤɥɚɫɫɚ. Ʉɨɦɩɨɧɟɧɬɵ-ɮɭɧɤɰɢɢ ɩɪɢ ɢɯ ɜɵɡɨɜɟ ɧɟɹɜɧɨ
ɩɨɥɭɱɚɸɬ ɞɨɩɨɥɧɢɬɟɥɶɧɵɣ ɚɪɝɭɦɟɧɬ - ɭɤɚɡɚɬɟɥɶ ɧɚ ɩɟɪɟɦɟɧɧɭɸ ɨɛɴɟɤɬɧɨ-
ɝɨ ɬɢɩɚ, ɞɥɹ ɤɨɬɨɪɨɣ ɜɵɡɜɚɧɚ ɮɭɧɤɰɢɹ, ɢ ɜ ɬɟɥɟ ɮɭɧɤɰɢɢ ɦɨɠɧɨ ɨɛɪɚɳɚɬɶ-
ɫɹ ɤɨ ɜɫɟɦ ɤɨɦɩɨɧɟɧɬɚɦ ɤɥɚɫɫɚ. ȼ ɫɜɹɡɢ ɫ ɷɬɢɦ ɩɪɢ ɨɩɢɫɚɧɢɢ ɬɟɥɚ ɤɨɦɩɨ-
ɧɟɧɬɵ-ɮɭɧɤɰɢɢ ɜɧɟ ɨɩɢɫɚɧɢɹ ɤɥɚɫɫɚ ɧɭɠɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɨɩɟɪɚɰɢɸ ɪɚɡ-
ɪɟɲɟɧɢɹ ɤɨɧɬɟɤɫɬɚ, ɱɬɨɛɵ ɢɧɮɨɪɦɢɪɨɜɚɬɶ ɤɨɦɩɢɥɹɬɨɪ ɨ ɩɪɢɧɚɞɥɟɠɧɨɫɬɢ
ɮɭɧɤɰɢɢ ɤ ɤɥɚɫɫɭ. Ɇɟɬɨɞɵ ɤɥɚɫɫɚ
TPoint ɦɨɠɧɨ ɨɩɢɫɚɬɶ ɬɚɤ:
void TPoint::movePoint(int newx, int newy)
{x=newx; y=newy;}
void TPoint::relmove(int dx, int dy)
{x+=dx; y+=dy;}
ɑɬɨɛɵ ɜɵɩɨɥɧɢɬɶ ɧɚɱɚɥɶɧɭɸ ɢɧɢɰɢɚɥɢɡɚɰɢɸ ɤɨɦɩɨɧɟɧɬ-ɞɚɧɧɵɯ, ɩɪɢ
ɫɨɡɞɚɧɢɢ ɩɟɪɟɦɟɧɧɵɯ ɨɛɴɟɤɬɧɨɝɨ ɬɢɩɚ ɜ ɨɩɢɫɚɧɢɟ ɬɢɩɚ ɜɤɥɸɱɚɸɬɫɹ ɫɩɟ-
ɰɢɚɥɶɧɵɟ ɦɟɬɨɞɵ-ɤɨɧɫɬɪɭɤɬɨɪɵ. ɂɦɹ ɤɨɧɫɬɪɭɤɬɨɪɚ ɫɨɜɩɚɞɚɟɬ ɫ ɢɦɟɧɟɦ
ɬɢɩɚ, ɤɨɧɫɬɪɭɤɬɨɪ ɧɟ ɜɨɡɜɪɚɳɚɟɬ ɧɢɤɚɤɨɝɨ ɡɧɚɱɟɧɢɹ ɢ ɞɥɹ ɧɟɝɨ ɧɟ ɭɤɚɡɵɜɚ-
ɟɬɫɹ ɬɢɩ ɜɨɡɜɪɚɳɚɟɦɨɝɨ ɡɧɚɱɟɧɢɹ. Ⱦɥɹ ɪɚɫɫɦɨɬɪɟɧɧɨɝɨ ɜɵɲɟ ɤɥɚɫɫɚ
TPoint ɦɨɠɧɨ ɛɵɥɨ ɨɛɨɣɬɢɫɶ ɛɟɡ ɤɨɧɫɬɪɭɤɬɨɪɚ ɢ ɢɫɩɨɥɶɡɨɜɚɬɶ ɞɥɹ ɢɧɢ-
ɰɢɚɥɢɡɚɰɢɢ ɦɟɬɨɞ
movePoint. Ɋɚɫɫɦɨɬɪɢɦ ɜ ɤɚɱɟɫɬɜɟ ɩɪɢɦɟɪɚ ɤɥɚɫɫ
TRect, ɨɩɢɫɵɜɚɸɳɢɣ ɩɪɹɦɨɭɝɨɥɶɧɢɤ ɫɨ ɫɬɨɪɨɧɚɦɢ, ɩɚɪɚɥɥɟɥɶɧɵɦɢ ɨɫɹɦ
ɤɨɨɪɞɢɧɚɬ:
enum Boolean {FALSE, TRUE};
class TRect
{
42
ɤɥɚɫɫɨɜ ɢ ɪɚɡɪɟɲɚɟɬ ɞɨɫɬɭɩ ɤ ɤɨɦɩɨɧɟɧɬɚɦ ɷɬɨɝɨ ɭɪɨɜɧɹ ɢɡ ɦɟɬɨɞɨɜ ɩɪɨ- ɢɡɜɨɞɧɨɝɨ ɤɥɚɫɫɚ. ɉɨ ɭɦɨɥɱɚɧɢɸ ɞɥɹ ɜɫɟɯ ɤɨɦɩɨɧɟɧɬ ɤɥɚɫɫɚ ɬɢɩɚ struct ɩɪɢɧɢɦɚɟɬɫɹ ɭɪɨɜɟɧɶ ɞɨɫɬɭɩɚ public, ɧɨ ɦɨɠɧɨ ɹɜɧɨ ɡɚɞɚɜɚɬɶ ɢ ɞɪɭɝɢɟ ɭɪɨɜɧɢ ɞɨɫɬɭɩɚ, ɭɪɨɜɟɧɶ ɞɨɫɬɭɩɚ ɤ ɤɨɦɩɨɧɟɧɬɚɦ ɤɥɚɫɫɚ ɬɢɩɚ class ɩɨ ɭɦɨɥɱɚɧɢɸ private, ɞɥɹ ɤɥɚɫɫɚ ɬɢɩɚ union ɭɪɨɜɟɧɶ ɞɨɫɬɭɩɚ public, ɤɨ- ɬɨɪɵɣ ɧɟ ɦɨɠɟɬ ɛɵɬɶ ɢɡɦɟɧɟɧ. ɇɚɩɪɢɦɟɪ, ɩɭɫɬɶ ɩɪɨɝɪɚɦɦɢɫɬ ɪɟɲɢɥ ɜ ɤɥɚɫɫɟ TPoint (ɬɨɱɤɚ) ɡɚɩɪɟ- ɬɢɬɶ ɜɧɟɲɧɢɣ ɞɨɫɬɭɩ ɤ ɤɨɨɪɞɢɧɚɬɚɦ ɬɨɱɤɢ ɢ ɪɚɡɪɟɲɢɬɶ ɜɧɟɲɧɢɣ ɞɨɫɬɭɩ ɤ ɦɟɬɨɞɚɦ ɩɟɪɟɦɟɳɟɧɢɹ ɬɨɱɤɢ ɧɚ ɩɥɨɫɤɨɫɬɢ. Ɉɩɢɫɚɧɢɟ ɤɥɚɫɫɚ TPoint ɦɨɠɧɨ ɩɨɫɬɪɨɢɬɶ ɬɚɤ: class TPoint { private: int x,y; public: void movePoint(int newx, int newy); // ɩɟɪɟɧɨɫ ɬɨɱɤɢ void relmove (int dx, int dy); // ɫɞɜɢɝ ɬɨɱɤɢ int getx() {return x;}; int gety() {return y;}; }; Ɉɩɢɫɚɧɢɟ ɬɟɥɚ ɤɨɦɩɨɧɟɧɬɵ-ɮɭɧɤɰɢɢ ɦɨɠɟɬ ɛɵɬɶ ɜɤɥɸɱɟɧɨ ɜ ɨɩɢɫɚ- ɧɢɟ ɤɥɚɫɫɚ, ɤɚɤ ɷɬɨ ɫɞɟɥɚɧɨ ɜ ɩɪɢɦɟɪɟ ɞɥɹ ɮɭɧɤɰɢɣ getx ɢ gety, ɢɥɢ ɩɨ- ɦɟɳɟɧɨ ɜɧɟ ɨɩɢɫɚɧɢɹ ɤɥɚɫɫɚ. Ʉɨɦɩɨɧɟɧɬɵ-ɮɭɧɤɰɢɢ ɩɪɢ ɢɯ ɜɵɡɨɜɟ ɧɟɹɜɧɨ ɩɨɥɭɱɚɸɬ ɞɨɩɨɥɧɢɬɟɥɶɧɵɣ ɚɪɝɭɦɟɧɬ - ɭɤɚɡɚɬɟɥɶ ɧɚ ɩɟɪɟɦɟɧɧɭɸ ɨɛɴɟɤɬɧɨ- ɝɨ ɬɢɩɚ, ɞɥɹ ɤɨɬɨɪɨɣ ɜɵɡɜɚɧɚ ɮɭɧɤɰɢɹ, ɢ ɜ ɬɟɥɟ ɮɭɧɤɰɢɢ ɦɨɠɧɨ ɨɛɪɚɳɚɬɶ- ɫɹ ɤɨ ɜɫɟɦ ɤɨɦɩɨɧɟɧɬɚɦ ɤɥɚɫɫɚ. ȼ ɫɜɹɡɢ ɫ ɷɬɢɦ ɩɪɢ ɨɩɢɫɚɧɢɢ ɬɟɥɚ ɤɨɦɩɨ- ɧɟɧɬɵ-ɮɭɧɤɰɢɢ ɜɧɟ ɨɩɢɫɚɧɢɹ ɤɥɚɫɫɚ ɧɭɠɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɨɩɟɪɚɰɢɸ ɪɚɡ- ɪɟɲɟɧɢɹ ɤɨɧɬɟɤɫɬɚ, ɱɬɨɛɵ ɢɧɮɨɪɦɢɪɨɜɚɬɶ ɤɨɦɩɢɥɹɬɨɪ ɨ ɩɪɢɧɚɞɥɟɠɧɨɫɬɢ ɮɭɧɤɰɢɢ ɤ ɤɥɚɫɫɭ. Ɇɟɬɨɞɵ ɤɥɚɫɫɚ TPoint ɦɨɠɧɨ ɨɩɢɫɚɬɶ ɬɚɤ: void TPoint::movePoint(int newx, int newy) {x=newx; y=newy;} void TPoint::relmove(int dx, int dy) {x+=dx; y+=dy;} ɑɬɨɛɵ ɜɵɩɨɥɧɢɬɶ ɧɚɱɚɥɶɧɭɸ ɢɧɢɰɢɚɥɢɡɚɰɢɸ ɤɨɦɩɨɧɟɧɬ-ɞɚɧɧɵɯ, ɩɪɢ ɫɨɡɞɚɧɢɢ ɩɟɪɟɦɟɧɧɵɯ ɨɛɴɟɤɬɧɨɝɨ ɬɢɩɚ ɜ ɨɩɢɫɚɧɢɟ ɬɢɩɚ ɜɤɥɸɱɚɸɬɫɹ ɫɩɟ- ɰɢɚɥɶɧɵɟ ɦɟɬɨɞɵ-ɤɨɧɫɬɪɭɤɬɨɪɵ. ɂɦɹ ɤɨɧɫɬɪɭɤɬɨɪɚ ɫɨɜɩɚɞɚɟɬ ɫ ɢɦɟɧɟɦ ɬɢɩɚ, ɤɨɧɫɬɪɭɤɬɨɪ ɧɟ ɜɨɡɜɪɚɳɚɟɬ ɧɢɤɚɤɨɝɨ ɡɧɚɱɟɧɢɹ ɢ ɞɥɹ ɧɟɝɨ ɧɟ ɭɤɚɡɵɜɚ- ɟɬɫɹ ɬɢɩ ɜɨɡɜɪɚɳɚɟɦɨɝɨ ɡɧɚɱɟɧɢɹ. Ⱦɥɹ ɪɚɫɫɦɨɬɪɟɧɧɨɝɨ ɜɵɲɟ ɤɥɚɫɫɚ TPoint ɦɨɠɧɨ ɛɵɥɨ ɨɛɨɣɬɢɫɶ ɛɟɡ ɤɨɧɫɬɪɭɤɬɨɪɚ ɢ ɢɫɩɨɥɶɡɨɜɚɬɶ ɞɥɹ ɢɧɢ- ɰɢɚɥɢɡɚɰɢɢ ɦɟɬɨɞ movePoint. Ɋɚɫɫɦɨɬɪɢɦ ɜ ɤɚɱɟɫɬɜɟ ɩɪɢɦɟɪɚ ɤɥɚɫɫ TRect, ɨɩɢɫɵɜɚɸɳɢɣ ɩɪɹɦɨɭɝɨɥɶɧɢɤ ɫɨ ɫɬɨɪɨɧɚɦɢ, ɩɚɪɚɥɥɟɥɶɧɵɦɢ ɨɫɹɦ ɤɨɨɪɞɢɧɚɬ: enum Boolean {FALSE, TRUE}; class TRect { 42
Страницы
- « первая
- ‹ предыдущая
- …
- 40
- 41
- 42
- 43
- 44
- …
- следующая ›
- последняя »