ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Π² Π‘++
ΠΠΈΡΡΡΠ°ΠΌΠ»ΡΠ½ΠΎΠ΅ Π½Π°ΡΠ»Π΅ΠΌΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ (Π°Π½Π³Π». virtual inheritance) Π² ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++ — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅ΠΌΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ «ΡΠΎΠΌΠ±ΠΎΠ²ΠΈΠ΄Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ»), ΠΏΡΡΠ΅ΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ³ΠΎ, ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠΎΠ² (Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ²-ΠΏΡΠ΅Π΄ΠΊΠΎΠ²) Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ½ΠΎ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Π² Π‘++ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° β1
Π’Π΅ΠΌΠ°: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ.
ΠΠ°Π΄Π°ΡΠ° 1
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ»Π°ΡΡΡ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΊΠ»ΡΡΠΈΡΡ Π² ΠΊΠ»Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ set (…), get (…), show (…). ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ. ΠΠ»Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠΌΡ Π²Π°ΡΠΈΠ°Π½ΡΡ.
1. Student: Π€Π°ΠΌΠΈΠ»ΠΈΡ, ΠΠΌΡ, ΠΡΡΠ΅ΡΡΠ²ΠΎ, ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ, ΠΠ΄ΡΠ΅Ρ, Π‘ΡΠ΅Π΄Π½ΠΈΠΉ Π±Π°Π»Π», Π€Π°ΠΊΡΠ»ΡΡΠ΅Ρ, ΠΡΡΡ. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΡΡΠ΄Π΅Π½Ρ «Π΄Π²ΠΎΠ΅ΡΠ½ΠΈΠΊΠΎΠΌ», «ΡΡΠΎΠ΅ΡΠ½ΠΈΠΊΠΎΠΌ», «Ρ ΠΎΡΠΎΡΠΈΡΡΠΎΠΌ», «ΠΎΡΠ»ΠΈΡΠ½ΠΈΠΊΠΎΠΌ».
#include
using namespace std;
class student {
char fam[10];
char im[10];
char otch[10];
char datarog[10];
char adress[10];
double ball;
char fak[10];
char kurs[10];
public:
void set (char fam[10], char im[10], char otch[10], char datarog[10], char adress[10], double ball, char fak[10], char kurs[10])
{
strcpy (this->fam, fam);
strcpy (this->im, im);
strcpy (this->otch, otch);
strcpy (this->datarog, datarog);
strcpy (this->adress, adress);
this->ball=ball;
strcpy (this->fak, fak);
strcpy (this->kurs, kurs);
}
int get_rec (char f[10], char i[10], char o[10], char d[10], char ad[10], double & ba,
char faki[10], char ku[10])
{strcpy (f, fam);
strcpy (i, im);
strcpy (o, otch);
strcpy (d, datarog);
strcpy (ad, adress);
ba=ball;
strcpy (faki, fak);
strcpy (ku, kurs);
}
void show ()
{cout<< «informziyu"<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
void red (double ball)
void red1 (double ball) {if ((ball>4)||(ball<=5)) {cout<< «horoshist"<
else {cout<< «troeishnik"<
void red3 (double ball) {if (ball==5) cout<< «otlichnik"<
};
int main () {
student wee;
char a[10];
char b[10];
char c[10];
char d[10];
char q[10];
double w;
char e[10];
char t[10];
cout<< «vvedite dannie»;
cout<< «_____» <
cout<< «familiya"<
cin>>a;
cout<< «imya"<
cin>>b;
cout<< «otchestvo"<
cin>>c;
cout<< «datarog"<
cin>>d;
cout<< «adress"<
cin>>q;
cout<< «ball"<
cin>>w;
cout<< «fak"<
cin>>e;
cout<< «kurs"<
cin>>t;
wee.set (a, b, c, d, q, w, e, t);
wee.red (w);
wee.red1 (w);
wee.red3 (w);
wee.show ();
return 0;
}
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 2
1. ΠΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠ»Π°ΡΡ ΠΏΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡ Π½ΠΈΠΆΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ.
2. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ»Π΅Π½ΠΎΠ²-Π΄Π°Π½Π½ΡΡ Π²Π½ΡΡΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°.
3. Π‘ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ΅ΡΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ° ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½. ΠΠ΅ΡΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π²ΡΠΎΡΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΡΠ΅ΡΠΈΠΉ — ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊ ΡΠΈΠΏΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π° ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ — ΡΡΠ½ΠΊΡΠΈΡ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ .
4. ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ . 5. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π° Π²Π½Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
6. ΠΠ±ΡΡΠ²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠ°ΠΊ «Π΄ΡΡΠ·Π΅ΠΉ» ΠΊΠ»Π°ΡΡΠ° Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ — ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠΌ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
7. ΠΠ±ΡΡΠ²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠ°ΠΊ «Π΄ΡΡΠ·Π΅ΠΉ» ΠΊΠ»Π°ΡΡΠ° Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ — ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠΌ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅. ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
#include
using namespace std;
class comchislo
{
double x;
double y;
public:
comchislo (double x, double y)
{
this->x=x;
this->y=y;
}
void set (double x, double y)
{
this->x=x;
this->y=y;
}
void get1 (double &x, double &y)
{
this->x=x;
this->y=y;
}
void show ()
{
cout<< «z="<< «+i*» <
}
void set_s1 (double x, double y);
void get_s1 (double &x, double &y);
friend void vivod (comchislo o);
};
void comchislo: set_s1 (double x, double y)
{
this->x=x;
this->y=y;
}
void comchislo: get_s1 (double &x, double &y)
{
this->x=x;
this->y=y;
}
void vivod (double x, double y)
{
cout<< «z="<< «+i*» <
}
int main ()
{
double x, y;
comchislo o (0,0);
o.show ();
cout<< «Vvedite mnimoe i realnoe chislo"<
cin>>x>>y;
o.set (x, y);
o.show ();
o.set_s1 (x, y);
vivod (x, y);
return 0;}
ΠΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ
#include
using namespace std;
class comchislo
{
double x;
double y;
public:
comchislo (double x, double y)
{
this->x=x;
this->y=y;
}
void set (double x, double y)
{
this->x=x;
this->y=y;
}
void get1 (double &x, double &y)
{
this->x=x;
this->y=y;
}
double tim (double x, double y) {
return (x+y)/2−45;}
void show ()
{
cout<< «z="<< «+i*» <
}
};
int main ()
{
double k, z, p, p1;
double x, y;
comchislo o (0,0);
o.show ();
cout<< «Vvedite mnimoe i realnoe chislo"<
cin>>x>>y>>k>>z;
o.set (x, y);
p=o.tim (x, y) — o. tim (x, k)+2*o.tim (z, y);
cout<
p1=o.tim (k, z) — o. tim (k, y)+o.tim (y, y) — o. tim (x, x);
cout<
x=p;
y=p1;
o.show ();
return 0;
}}
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
1) Π§ΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠ»Π°ΡΡ?
ΠΠ»Π°ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½) ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ΄Π΅Π»ΡΡ Π΅ΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΡΠ½ΠΎΡΡΠΈ (ΠΎΠ±ΡΠ΅ΠΊΡΠ°). Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ½ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠ²Π»ΡΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° ΡΠ΅ΡΡΠ΅ΠΆΠΎΠΌ. ΠΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ — ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠΈ ΡΡΠΎΠΌ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΊΠ»Π°ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ . ΠΠ±ΡΡΠ½ΠΎ ΠΊΠ»Π°ΡΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.
2) ΠΠ°ΠΊΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π² php, Java, C++, Oberon, Python, Ruby, Smalltalk, Object Pascal) ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ Π½Π°Π±ΠΎΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² (ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΡ ΡΠΎΠ»Ρ ΠΈΠ³ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ, Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΡ, ΡΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΎΡΡ). ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡΡΡ ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ — ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½Ρ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π½Π°Π±ΠΎΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
private (Π·Π°ΠΊΡΡΡΡΠΉ, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠ»Π΅Π½ ΠΊΠ»Π°ΡΡΠ°) — ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ»Π΅Π½Ρ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠΎΡ ΡΠ»Π΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½. ΠΡΠ±ΡΠ΅ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΈ ΠΊΠ»Π°ΡΡΠ° ΡΠΆΠ΅ Π½Π΅ ΡΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΎΠΌΡ ΡΠ»Π΅Π½Ρ. ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΈΠΏΡ private Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΈΠ· Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅Π½Π°ΠΌ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ Π΄Π°ΠΆΠ΅ public-ΡΠ»Π΅Π½Ρ (Π‘++);
protected (Π·Π°ΡΠΈΡΡΠ½Π½ΡΠΉ, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠ»Π΅Π½ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ²) — ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ»Π΅Π½Ρ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠΎΡ ΡΠ»Π΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ· Π»ΡΠ±ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠΎΠ²-Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠ². ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΈΠΏΡ protected Π΄Π΅Π»Π°Π΅Ρ Π²ΡΠ΅ public-ΡΠ»Π΅Π½Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° protected-ΡΠ»Π΅Π½Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°-Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ° (Π‘++);
public (ΠΎΡΠΊΡΡΡΡΠΉ ΡΠ»Π΅Π½ ΠΊΠ»Π°ΡΡΠ°) — ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ»Π΅Π½Ρ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΈΠΏΡ public Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° (Π‘++);
3) Π§ΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°?
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ (Π° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΎΠ±ΡΠ·Π°Π½Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ) ΡΠΎΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ. Π‘Π°ΠΌ ΠΊΠ»Π°ΡΡ Π² ΠΈΡΠΎΠ³Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΎΠΊ ΡΠ²ΠΎΠΈΡ ΡΠ»Π΅Π½ΠΎΠ², Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅ΠΉ (ΡΠ²ΠΎΠΉΡΡΠ²) ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² / ΡΡΠ½ΠΊΡΠΈΠΉ / ΠΏΡΠΎΡΠ΅Π΄ΡΡ. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΡΠΎΠΌΡ ΡΠΏΠΈΡΠΊΡ ΠΌΠΎΠ³ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Π°ΡΡΠΈΠ±ΡΡΡ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ
4) ΠΠ°ΠΊ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΊΠ»Π°ΡΡΠ° ΠΡΠΈΠ½ΡΡΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ — ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ set ΠΈ get ΡΡΠ½ΠΊΡΠΈΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . set-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ , get-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΠΎΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ ΠΊΠ»Π°ΡΡ CppStudio ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π² Π½ΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π΄Π°ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π΄Π΄. ΠΌΠΌ. Π³Π³. ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π΄Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ set ΠΈ get ΡΡΠ½ΠΊΡΠΈΠΈ.
5) ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ this
Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ *this ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄
6) Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° (ΠΎΡ Π°Π½Π³Π». constructor, ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠΎΠΊΡΠ°ΡΠ°ΡΡ ctor) — ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΡ ΠΎΠΆ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ, Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ΅ΠΌ, ΡΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ , Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ, ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ²
7) Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ ΠΠ΅ΡΡΡΡΠΌΠΊΡΠΎΡ — ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ°, ΡΠ»ΡΠΆΠ°ΡΠΈΠΉ Π΄Π»Ρ Π΄Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ).
8) ΠΠ°ΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ Π C++ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠΉ Π·Π°ΡΠΈΡΡ. ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠ»Π°ΡΡΡ (Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΡ ΠΈΠ΄ΡΡ ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ-ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π°ΡΠΈΡΡΠ½Π½ΡΠΌ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΌ ΡΠ»Π΅Π½Π°ΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. Π§ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ «Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΠΠΠΠΠ, ΠΠ ΠΠΠ». Π’Π°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠ»Π°ΡΡΡ Π½Π°Π·ΡΠ²Π°ΡΡ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ
ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° β2
Π’Π΅ΠΌΠ°: ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ «++» ΠΈ «+», ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°, Π°" - - «ΠΈ «-» ΠΊΠ°ΠΊ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠ°ΠΊ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΡΠ°ΠΊ ΠΈ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ.
#include
using namespace std;
class zel
{
int f;
public:
zel () {f=0;}
zel (int f) {this->f=f;}
int get_zel () {return f;}
void set_zel (int f) {this->f=f;}
void show () {cout<< «F="<
int zel: operator ++(int a)
{
return a=a+a+a;
}
int zel: operator +(int a)
{
return a=a+3;
}
int zel: operator — (int a)
{int t;
t=a-a-a;
return t;
}
int zel: operator — (int a)
{
return a=a-5;
}
};
int main ()
{
zel a;
zel b;
int c;
cout<< «Vvedite a v formate"<
cin>>c;
int x;
cout<< «Vvedite b v"<
cin>>x;
a.set_zel (c);
b.set_zel (x);
a.show ();
b.show ();
c++;
cout<
cout<<
c -;
cout<
cout<
system («pause»);
return 0;
}
«ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ» — Complex. ΠΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ² ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΡΡΠΈΡΠ°Π½ΠΈΡ, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ. Π‘ΠΎΠ·Π΄Π°ΡΡ Π΄Π²Π° Π²Π΅ΠΊΡΠΎΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ n ΠΈΠ· ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ. ΠΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡ Π² ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ².
#include
#include
#include
class Complex
{
private:
double real; // ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ
double image; // ΠΠ½ΠΈΠΌΠ°Ρ ΡΠ°ΡΡΡ
public:
Complex () {}; // ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
Complex (double r) {real = r; image = 0;} // ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
Complex (double r, double i) {real = r, image = i;} // ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
~Complex () {} // ΠΠ΅ΡΡΡΡΠΊΡΠΎΡ
Complex operator+(Complex &); // ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Complex operator — (Complex &); // ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΡΡΠΈΡΠ°Π½ΠΈΡ
Complex operator*(Complex &); // ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ
Complex operator/(Complex &); // ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π΄Π΅Π»Π΅Π½ΠΈΡ
// ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ-ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° << Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠ»Π°ΡΡΠ° Complex
friend ostream &operator<<(ostream &, Complex &);
// ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ-ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° >> Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΊΠ»Π°ΡΡΠ° Complex
friend istream &operator>>(istream &, Complex &);
};
// ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° +
Complex Complex: operator+(Complex &fp1)
{
fp1.real = real + fp1. real;
fp1.image = image + fp1. image;
return fp1;
}
// ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ;
Complex Complex: operator — (Complex &fp1)
{
fp1.real = real — fp1. real;
fp1.image = image — fp1. image;
return fp1;
}
// ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° *
Complex Complex: operator*(Complex &fp1)
{
double i, j;
i = real * fp1. real — image * fp1. image;
j = real * fp1. image + fp1. real * image;
fp1.real = i;
fp1.image = j;
return fp1;
}
// ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° /
Complex Complex: operator/(Complex &fp1)
{
double k, i, j;
k = fp1. real * fp1. real + fp1. image * fp1. image;
i = (real * fp1. real + image * fp1. image) / k;
j = (fp1.real * image — real * fp1. image) / k;
fp1.real = i;
fp1.image = j;
return fp1;
}
// ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° <<
ostream &operator<< (ostream &fo, Complex &fp)
{
if (fp.image < 0) fo << fp. real << «+i („<< fp. image <<οΏ½“)n»;
else fo << fp. real << «+i» << fp. image << «n»;
return fo;
}
// ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° >>
istream &operator>>(istream &fi, Complex &fp)
{
cout << «vvedite deystvinui chasty:»;
fi >> fp. real;
cout << «vvedite mnimui chasty:»;
fi >> fp. image;
return fi;
}
void main ()
{
//clrscr ();
// ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°
Complex c1, c2, c3, c4, c5;
// ΠΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ ΡΠΈΡΠ΅Π»
cin >> c1;
cin >> c2;
cin >> c3;
cin >> c4;
cin >> c5;
// ΠΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ ΡΠΈΡΠ΅Π»
cout << «nc1 =» << c1;
cout << «c2 =» << c2;
cout << «c3 =» << c3;
cout << «c4 =» << c4;
cout << «c5 =» << c5 << 'n';
// cout << «ΠΠΎΠ΄ΡΠ»Ρ c1:» << c1. abs () << «nn»;
// ΠΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ
Complex k;
K=c1+c2;
cout << «c1 + c2 =» << k;
k=c1-c2;
cout << «c1 — c3 =» << k;
k=c1*c2;
cout << «c1 * c4 =» << k;
k=c1/c2;
cout << «c1 / c5 =» << k;
getch ();}
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
1) ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΌΡΡΠ»Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΠ»ΡΡ (+), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΡΠ½ΠΎ Π² C++ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ) ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΅Π³ΠΎ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ
2) Π§ΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΡΠ½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ Π² ΡΠ·ΡΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ (ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ) ΠΎΠΏΠΎΠ·Π½Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ (ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ), Π½ΠΎ ΠΈ ΠΏΠΎ ΡΠΈΠΏΠ°ΠΌ ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, abs (i), Π³Π΄Π΅ i ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅, ΠΈ abs (x), Π³Π΄Π΅ x ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ — ΡΡΠΎ Π΄Π²Π΅ ΡΠ°Π·Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ°ΠΊΡΠΎΠ²ΠΊΠΈ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ.
Π§ΡΠΎΠ±Ρ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ Π² ΡΠ·ΡΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠ°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΏΠΎ ΡΡΡΠΈ ΠΎΠ½ΠΈ Π½ΠΈΡΠ΅ΠΌ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π·Π°ΠΏΠΈΡΡ Π²ΠΈΠ΄Π° «<οΏ½ΠΎΠΏΠ΅ΡΠ°Π½Π΄1> <οΏ½Π·Π½Π°ΠΊΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ> <οΏ½ΠΎΠΏΠ΅ΡΠ°Π½Π΄2>» ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ «<οΏ½Π·Π½Π°ΠΊΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ>(<οΏ½ΠΎΠΏΠ΅ΡΠ°Π½Π΄1>,<οΏ½ΠΎΠΏΠ΅ΡΠ°Π½Π΄2>)». ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ — ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π½Π°.
3) ΠΠ΅ΡΠ΅Π³ΡΡΠΆΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ:
+ - * /% ^ & | ~! = < >
+= -= *= /=%= ^= &= |=
<< >> >>= <<= ==≠ <= >=
&& || ++ - ->*, -> [] ()
new new[] delete delete[]
Π Π½Π΅Π»ΡΠ·Ρ (ΠΏΠΎΠ΄ΡΠΌΠΎΡΡΠ΅Π» Ρ Π‘ΡΡΠ°ΡΡΡΡΡΠΏΠ°):
: (ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ)
(Π²ΡΠ±ΠΎΡ ΡΠ»Π΅Π½Π°)
* (Π²ΡΠ±ΠΎΡ ΡΠ»Π΅Π½Π° ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ»Π΅Π½)
?: ΡΠ΅ΡΠ½Π°ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ
sizeof, typeid
ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° β3
Π’Π΅ΠΌΠ°: ΠΠ°ΡΡΠΈΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΠ΅ΠΊΠΎΠΌ. ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠ΅ΠΊΠ° — Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΠΈΡ ΡΠ΅ΡΠΈΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π»: a) Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅;
#include «stdafx.h»
#include «stdio.h»
#include «iostream»
using namespace std;
// ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΡΡΠΊΠ°
struct elem {
int data;
struct elem* next;
};
// ΠΊΠ»Π°ΡΡ ΡΡΡΠΊΠ°
class lifo {
private:
struct elem* begin;
public:
// Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΡΡΠ΅ΠΊΠ°
struct elem* get () {
struct elem* rez;
if (begin≠NULL) {
rez=begin;
}
else {
rez=NULL;
}
return rez;
};
// ΠΏΠΎΠΈΡΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
struct elem* search_elem (int idata) {
struct elem* curr;
curr=begin;
while ((curr->data≠idata)&&(curr≠NULL)) {
curr=curr->next;
};
return curr;
};
// ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ
struct elem* create_lifo () {
struct elem* rez;
rez = new struct elem;
rez->next=NULL;
return rez;
};
// ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ
void set (int data) {
struct elem* rez;
rez=create_lifo ();
rez->data=data;
rez->next=begin;
begin=rez;
};
// ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
void del1 () {
struct elem* temp;
temp=begin;
if (begin->next≠NULL) {
begin=begin->next;
}
else {
begin=NULL;
}
delete temp;
};
// ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
void del2 (int idata) {
struct elem* curr;
struct elem* temp;
curr=begin;
temp=search_elem (idata);
while ((curr->next≠temp)&&(curr->next≠NULL)) {
curr=curr->next;
};
curr->next=temp->next;
if (temp==begin) {
begin=begin->next;
}
delete temp;
};
// ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΡeΠΊa
void write_lifo () {
struct elem* curr;
curr=begin;
cout << «NACHALO» << endl;
while (curr≠NULL) {
cout << curr->data << endl;
curr = curr->next;
}
cout << «KONEC» << endl;
};
// ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°
struct elem* find_max (struct elem* curr) {
struct elem* max=curr;
do {
if (curr->data>max->data) {
max=curr;
}
curr=curr->next;
} while (curr≠NULL);
return max;
};
void sort_lifo () {
struct elem *max, *curr, *temp, *ntemp;
curr=begin;
do {
max=find_max (curr);
if (max≠curr) {
temp=curr;
if (max≠begin) {
while ((temp->next≠max)&&(temp->next≠NULL)) {
temp=temp->next;
};};
temp->next=max->next; // ΡΠ±ΡΠ°Π»ΠΈ ΠΌΠ°Ρ ΠΈΠ· ΡΡΠ΅ΠΊΠ°
temp=begin;
while ((temp->next≠curr)&&(temp->next≠NULL)) {
temp=temp->next;
};
if (temp->next≠NULL) {
temp->next=max;
max->next=curr;
} else
{
max->next=curr;
begin=max;
}
// Π½Π°ΡΠ»ΠΈ ΠΈ ΡΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ
curr=max;
}
curr=curr->next;
} while (curr->next≠NULL);
};
} mlifo;
// ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΡΠ΅ΠΊ
void c_lifo () {
int i=0, t;
mlifo.create_lifo ();
do {
cout << «vvedite» << i << «element (0-vyhod)» <
cin >> t;
i++;
mlifo.set (t);
} while (t≠0);
};
void add_elem () {
int t;
cout << «vvedite element» <
cin >> t;
mlifo.set (t);
}
void del_elem () {
int t;
cout << «vvedite chislo dlya udaleniya» <
cin >> t;
mlifo.del2 (t);
};
int main ()
{
int i;
bool flag=true;
do {
_flushall ();
cout << «sozdat stek (1)» << endl;
cout << «dobavit element (2)» << endl;
cout << «udalit s vershiny (3)» << endl;
cout << «pokazat stek (4)» << endl;
cout << «udalit celevoi element (5)» << endl;
cout << «sortirovka (6)» << endl;
cout << «vyhod (0)» << endl;
cin >>i;
switch (i) {
case 1: c_lifo (); break;
case 2: add_elem (); break;
case 3: mlifo. del1 (); break;
case 4: mlifo. write_lifo (); break;
case 5: del_elem (); break;
case 6: mlifo. sort_lifo (); break;
case 0: flag=false; break;
};
} while (flag);
return 0;
}
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
1) C++ ΡΡΡΠ»ΠΊΠ° — ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΡΠ»ΠΎΡΠ½ΡΠΉ ΡΠΈΠΏ, ΠΌΠ΅Π½Π΅Π΅ ΠΌΠΎΡΠ½ΡΠΉ, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ, ΡΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΡΠΉ ΠΎΡ ΡΠ·ΡΠΊΠ° Π‘ΠΈ.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ, Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΡΠ»ΠΎΠΊ ΡΠ²Π»ΡΡΡΡΡ ΡΠΏΠΈΡΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ Π²Π·ΡΡΠΈΡ Π°Π΄ΡΠ΅ΡΠ° Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΌ.
2) new — ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΡΡΠ΅. ΠΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΡΠΌΡ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ «ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΠ΅ΠΉ ΡΠΎΡΠΌΠΎΠΉ new», new ΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΡΡΠ΅ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ, Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π°, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π°Π΄ΡΠ΅Ρ ΡΠ²Π΅ΠΆΠ΅Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ new Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ Π² ΠΊΡΡΠ΅, ΡΠΎ ΠΎΠ½ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ (throw) ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° std: bad_alloc. ΠΡΠΎ ΡΡΡΡΠ°Π½ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ.
p_var = new typename;
3) Π ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ delete Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ°ΠΌΡΡΡ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ new, ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΊΡΡΡ. ΠΡΠ·ΠΎΠ² delete Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° new, Π΄Π°Π±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° delete ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ Π½Π° ΡΡΠΎΡ ΡΡΠ°ΡΡΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ 0 (Π½ΡΠ»Ρ-ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ) ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ delete, ΡΡΠΎΠ±Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½ΡΠ»Ρ-ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠ΅ΠΊΡΠ°, ΡΠ°ΠΊ ΡΡΠΎ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π½ΡΠ»Ρ-ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ delete
int *p_var = NULL; // ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
p_var = new int; // ΠΏΠ°ΠΌΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ
/*…
ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄
delete p_var; // ΠΏΠ°ΠΌΡΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ
p_var = NULL; // ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° 0 (Π½ΡΠ»Ρ-ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ)
ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° β4
Π’Π΅ΠΌΠ°: Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ
Π¦Π΅Π»ΠΈ ΡΠ°Π±ΠΎΡΡ:
? ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ;
? ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ;
? ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ;
? ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ;
? ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ²;
? ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ;
? Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ — ΡΡΠΎ Π²ΡΠ±ΡΠ°ΡΡ.
ΠΠ°Π΄Π°ΡΠ° Π°) Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠ³ΡΠ° — ΡΠΏΠΎΡΡΠΈΠ²Π½Π°Ρ ΠΈΠ³ΡΠ° — Π²ΠΎΠ»Π΅ΠΉΠ±ΠΎΠ». ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ, Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΊΠ»Π°ΡΡΠΎΠ².
#include
#include
using namespace std;
class igra
{
public:
int kol_igrokof;
igra (char *vid_igri, char *atributi, int kol_igrokof, char *vremya_igri) {
strcpy (igra:vid_igri, vid_igri);
strcpy (igra:atributi, atributi);
this->kol_igrokof=kol_igrokof;
strcpy (igra:vremya_igri, vremya_igri);};
void show_spisok (void) {cout << vid_igri << endl;
cout<
cout<
void show_kol (int) {cout << kol_igrokof << endl;};
char vid_igri[64];
char atributi[64];
char vremya_igri[64];
};
class sport_play: public igra
{
public:
sport_play (char *vid_igri, char *vremya_igri, char *tematika, int kol_igrokof, char*atributi): igra (vid_igri, atributi, kol_igrokof, vremya_igri)
{
strcpy (this->vremya_igri, vremya_igri);
strcpy (this->tematika, tematika);
strcpy (this->atributi, atributi);
this->kol_igrokof=kol_igrokof;
};
void show_sport_play (void)
{
cout << «vid igri:»;
show_spisok ();
cout<
cout <<οΏ½"tematika: «<
cout<< «kol =»;
cout<
show_kol (kol_igrokof);
cout <
};
private:
char tematika[64];
};
class volebol: public igra
{
public:
volebol (char *vid_igri, char *vremya_igri, char *kol_match, int kol_igrokof, char*atributi): igra (vid_igri, atributi, kol_igrokof, vremya_igri)
{
strcpy (volebol:vremya_igri, vremya_igri);
strcpy (volebol:kol_match, kol_match);
strcpy (volebol:atributi, atributi);
this->kol_igrokof=kol_igrokof;
};
void show_volebol (void)
{
cout << «nazvanie:»;
show_spisok ();
cout<
cout <<οΏ½"kolmatch: «<< kol_match;
cout<< «Kol =»;
cout<
show_kol (kol_igrokof);
cout <
};
private:
char kol_match[64];
};
int main (void)
{
char vid_igri[64];
char vremya_igri[64];
char kol_match[54];
char atributi[64];
char tematika[64];
int kol_igrokof;
cout<< «vid igri"<
cin>>vid_igri;
cout<< «_________________»;
cout<< «vremya"<
cin>>vremya_igri;
cout<< «_________________»;
cout<< «kolmatch"<
cin>>kol_match;
cout<< «_________________»;
cout<< «atributi"<
cin>>atributi;
cout<< «__________________»;
cout<< «tematika"<
cin>>tematika;
cout<< «__________________»;
cout<< «kol igrokof"<
cin>>kol_igrokof;
cout<< «__________________»;
igra o (vid_igri, atributi, kol_igrokof, vremya_igri);
cout<< «SPISOK"<
o.show_spisok ();
sport_play as (vid_igri, vremya_igri, tematika, kol_igrokof, atributi);
cout<< «____________________Igra"<
as.show_sport_play ();
volebol das (vid_igri, vremya_igri, kol_match, kol_igrokof, atributi);
cout<< «__________________VOLEBOL"<
das.show_volebol ();
system («pause»);
return 0;
}
b) Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ ΠΊΠΎΠ»Π΅ΡΠΎ, ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΡΠ°Π΄ΠΈΡΡ. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄ΠΎΡΡΡΠΏΠ°. Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ, ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΠΊΠΎΠ»Π΅ΡΠ° ΠΈ ΡΡΡΠΎΠΊΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ ΡΠΈΡΠΌΡ-ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ. Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π³ΡΡΠ·ΠΎΠ²ΠΎΠΉ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ, ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠΉΡΡ Π³ΡΡΠ·ΠΎΠΏΠΎΠ΄ΡΠ΅ΠΌΠ½ΠΎΡΡΡΡ. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ, Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΊΠ»Π°ΡΡΠΎΠ².
#include
#include
using namespace std;
class koleso
{
public:
double rad;
koleso (double rad) {
this->rad=rad;
}
void set_rad (double rad)
{this->rad=rad;}
void show_rad (void) {
cout <<οΏ½"radius__=__>"<< endl;
};
};
class afto: public koleso
{
public:
char spisok[20];
afto (char*spisok, double rad):koleso (rad)
{
this->rad=rad;
strcpy (this->spisok, spisok);
}
void set_iz1 ()
{
this->rad=rad;
strcpy (this->spisok, spisok);
}
void show_ss (void)
{
cout <<οΏ½"radius__=__>"<< endl;
cout<<οΏ½"firma proizvoditelya__=__>"<
};
};
class gruzavto: public afto {
public:
double pod;
gruzavto (double rad, char*spisok, double pod): afto (spisok, rad)
{
this->pod=pod;
this->rad=rad;
strcpy (this->spisok, spisok);
}
void set_ss () {this->rad=rad;
strcpy (this->spisok, spisok);
this->pod=pod;}
void show_ss3 (void)
{
cout <<οΏ½"radius____=___>"<< endl;
cout<<οΏ½"firma proizvoditelya__=___>"<
cout<<οΏ½"podem___=__>"<
};
};
int main (void)
{bool t=false;
double pod;
cout<< «podem"<
cin>>pod;
double rad;
cout<< «radius"<
cin>>rad;
char spisok[20];
cout<< «spisok proizvoditelya"<
cin>>spisok;
koleso a (rad);
while (t=true)
{int d;
cout<< «vesti novi radius??? da=1 net=2"<
cin>>d;
if (d==1) {
cout<< «vvedite radius"<
cin>>rad;
a.set_rad (rad);
a.show_rad ();}
else {
break;}
}
cout<< «________________koleso"<
a.show_rad ();
afto a1 (spisok, rad);
cout<< «________________avto"<
a1.show_ss ();
while (t=true) {
int d;
cout<<οΏ½"vvesti noviq spisok??? da=1, net=2; «<
cin>>d;
if (d==1) {
cout<< «vvedite noviy spisok"<
cin>>spisok;
afto a1 (spisok, rad);
a1.show_ss ();}
else {
break;}
}
gruzavto a2 (rad, spisok, pod);
cout<< «____gruzovoeavto"<
a2.show_ss3 ();
while (t=true)
{int d;
cout<<οΏ½"vvestinoviy podem??? da=1, net=2; «<
cin>>d;
if (d==1) {cout<< «vvedite noviy podyem"<
cin>>pod;
gruzavto a2 (rad, spisok, pod);
a2.show_ss3 ();
}
else {
break;}}
cout<< «________________gruzovik"<
a2.show_ss3 ();
system («pause»);
return 0;
}
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π΅ Π²ΠΎΠΏΡΠΎΡΡ
1) ΠΠ°ΡΠ»Π΅ΠΌΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ — ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½Π°ΡΡΠ΄Ρ Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠ΅ΠΉ, ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠΎΠΌ ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠ΅ΠΉ), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΠΏΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ (ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ), ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π·Π°ΠΈΠΌΡΡΠ²ΡΡΡΡΡ Π½ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ.
ΠΡΠΎΡΡΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠ»Π°ΡΡ, ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΈΠ»ΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ (Π°Π½Π³Π». base class). ΠΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ ΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠΎΠΌΠΊΠ°ΠΌΠΈ, Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ (Π°Π½Π³Π». derived class).
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ Ρ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΊΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠ»Π°ΡΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΊΠΎΠ². ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π² Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ. ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² C++. ΠΠ· Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Python ΠΈ ΠΠΉΡΠ΅Π»Ρ. ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠ·ΡΠΊΠ΅ UML.
2) ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΌΠ° Π²Π°ΠΆΠ½ΡΡ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Π³ΠΊΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈ «ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ»
3) ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²Π°ΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈ ΡΠΈΠ»Ρ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΡΡΠΎΠΈΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠ· Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ Π»Π΅Π³ΠΊΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
4) ΠΠ½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ·Π²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Ρ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅, ΠΈΠΌΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
5) ΠΡΠΈΠ½ΡΠΈΠΏ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π΅ΡΡΡ Π΄Π²Π° ΠΊΠ»Π°ΡΡΠ°, Π ΠΈ Π ΡΠ°ΠΊΠΈΠ΅, ΡΡΠΎ ΠΊΠ»Π°ΡΡ Π ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°, Π (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡΡΡΠΎΡ Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΏΠ΅Π½Π΅ΠΉ), ΡΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΊΠ»Π°ΡΡΠ° Π Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΊΠ»Π°ΡΡΠ°, Π Π² Π»ΡΠ±ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈΡΠ΅ΠΌ Π±Π΅Π· Π²ΠΈΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ°.
6) Π‘Π°ΠΌΡΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΠΠ — ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π° ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡΡΡ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°-ΠΏΠΎΡΠΎΠΌΠΊΠ°. ΠΠ»ΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΡΠΈΠ»ΡΠ½ΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π°ΡΠΏΠ΅ΠΊΡΡ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠ΅ Ρ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ ΠΏΠΎΡΠΎΠΌΠΊΠ°. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π³Π»ΡΠ±ΠΎΠΊΠΈΠΉ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΊΠΎΠ΄Π°, Π° ΡΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΡΡΠΎΠΈΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π° ΡΡΠ΅Ρ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ. ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΠΊΠ»Π°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ. Π§ΡΠΎ Π½Π΅ Π½Π°ΡΡΡΠ°Π΅Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠ°. Π’. Π΅. Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π΄ΡΡΠ³ΠΈΠΌ.
ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° β5
Π’Π΅ΠΌΠ°: ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
Π¦Π΅Π»ΠΈ ΡΠ°Π±ΠΎΡΡ:
? ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ;
? ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ;
? ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ;
? ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌ;
1) Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ: ΡΡΡΠ΄Π΅Π½Ρ, ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ — ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°Π½Ρ.
#include
using namespace std;
class Student {
int mark;
char imya[20];
char fam[20];
public:
void Set_student (int mark, char *imya, char*fam)
{strcpy (this->imya, imya);
strcpy (this->fam, fam);
this->mark=mark;
}
void show1 () {
cout<< «__» << «="<
cout<< «__» << «Imya="<
cout<< «__» << «familiya="<
};
class Worker {
int salary;
double stag;
public:
void Set_Worker (int salary, double stag) {
this->salary=salary;
this->stag=stag;
}
void show2 () {
cout<< «__» << «zarplata="<
cout<< «__» << «stag="<
};
class Practicant: public Student, public Worker
{char srok[20];
int ozenka;
public:
void set_practicant (char*srok, int ozenka)
{strcpy (this->srok, srok);
this->ozenka=ozenka;
}
void show3 () {
cout<< «__» << «srok="<
cout<< «__» << «ozenk="<
}
};
int main () {
Practicant s, w;
s. Set_student (1222, «Kolya», «kinim»);
s.show1 ();
s.set_practicant («11juli», 12);
s.show3 ();
cout<< «___» <
w. Set_Worker (12 333,13);
w.show2 ();
w.set_practicant («11avg», 12);
w.show3 ();
return 0;
}
2) Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ: ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ — ΡΡΡΠ΄Π΅Π½Ρ, ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ — ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°Π½Ρ.
#include
#include
using namespace std;
class chel
{
public:
char pol[20];
chel (char *pol) {
strcpy (this->pol, pol);
}
void set_pol (char*pol)
{strcpy (this->pol, pol);}
void show_pol (void) {
cout <<οΏ½"pol__=__>"<< endl;
};
};
class student: public chel
{
public:
double stip;
char imya[20];
student (char*imya, double stip, char*pol):chel (pol)
{
strcpy (this->pol, pol);
strcpy (this->imya, imya);
this->stip=stip;
}
void set_iz1 ()
{
this->stip=stip;
strcpy (this->pol, pol);
strcpy (this->imya, imya);
}
void show01 (void)
{
cout <<οΏ½"stip__=__>"<< endl;
cout<<οΏ½"pol__=__>"<
cout<<οΏ½"imya__=__>"<
};
};
class worck: public chel {
public:
double zarp;
char stag[20];
worck (char*stag, double zarp, char*pol):chel (pol)
{
strcpy (this->pol, pol);
strcpy (this->stag, stag);
this->zarp=zarp;
}
void set_z2 ()
{
this->zarp=zarp;
strcpy (this->pol, pol);
strcpy (this->stag, stag);
}
void show02 (void)
{
cout <<οΏ½"zarp__=__>"<< endl;
cout<<οΏ½"pol__=__>"<
cout<<οΏ½"stag__=__>"<
};
};
class pract: public worck {
public:
double ozen;
char srok[20];
pract (double ozen, char*srok, char*stag, double zarp, char*pol):worck (stag, zarp, pol)
{strcpy (this->pol, pol);
strcpy (this->stag, stag);
this->zarp=zarp;
this->ozen=ozen;
strcpy (this->srok, srok);
}
void set_ss () {this->ozen=ozen;
strcpy (this->srok, srok);
strcpy (this->stag, stag);
this->zarp=zarp;
strcpy (this->pol, pol);}
void show_ss3 (void)
{
cout <<οΏ½"ozenka____=___>"<< endl;
cout<<οΏ½"srok sdachi__=___>"<
cout<<οΏ½"stag__=__>"<
cout<<οΏ½"zarplata__=__>"<
cout<<οΏ½"pol__=__>"<
};
};
int main (void)
{
double stip;
cout<< «stip"<
cin>>stip;
double zarp;
cout<< «zarplata"<
cin>>zarp;
char pol[20];
cout<< «pol"<
cin>>pol;
char imya[20];
cout<< «vvedite imya"<
cin>>imya;
char stag[20];
cout<< «vvediter stag"<
cin>>stag;
double ozen;
cout<< «vvedit ozenku"<
cin>>ozen;
char srok[20];
cout<< «vvedite srok"<
cin>>srok;
chel a (pol);
cout<< «________________chel"<
a.show_pol ();
student a1 (imya, stip, pol);
cout<< «________________student"<
a1.show01 ();
worck a3 (stag, zarp, pol);
cout<< «________________worck"<
a3.show02 ();
pract a2 (ozen, srok, stag, zarp, pol);
cout<< «_________________pract"<
a2.show_ss3 ();
system («pause»);
return 0;
}
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π΅ Π²ΠΎΠΏΡΠΎΡΡ
1) ΠΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π°ΡΡΠΈΠ±ΡΡΡ Π΄Π²ΡΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ·Π²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ Π²ΡΠ΅Ρ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΡΠΈ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ (ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ²).
2)
3) ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΡ ΡΠ°ΡΡΠΎ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΎΠΌΠ±Π° ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ ΠΊΠ»Π°ΡΡΠ° ΠΠ΅ΡΠ΅ΠΊΡΡΡΠΈΠ΅ ΠΈΠΌΠ΅Π½ ΡΡΠ½ΠΊΡΠΈΠΉ — ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΈ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ, ΡΠ°ΠΊ ΠΈ Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ.
ΠΠ΅ΡΠ΅ΠΊΡΡΡΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΡΠΉ ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΠΏΠ°ΠΌΡΡΠΈ
4) ΠΠΈΡΡΡΠ°ΠΌΠ»ΡΠ½ΠΎΠ΅ Π½Π°ΡΠ»Π΅ΠΌΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ (Π°Π½Π³Π». virtual inheritance) Π² ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++ - ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅ΠΌΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ «ΡΠΎΠΌΠ±ΠΎΠ²ΠΈΠ΄Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ»), ΠΏΡΡΠ΅ΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ³ΠΎ, ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠΎΠ² (Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ²-ΠΏΡΠ΅Π΄ΠΊΠΎΠ²) Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠΉ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ² ΠΊΠ»Π°ΡΡΠΎΠ²-ΠΏΡΠ΅Π΄ΠΊΠΎΠ² ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΡ ΡΠ²ΠΎΠΉΡΡΠ² Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΡΡΠΈ. ΠΠ°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ, Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠΉ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° virtual.
5) ΠΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²Π½ΠΎΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΎΠΉ ΡΠ°ΠΌΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π° Π»ΠΈΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌΡ. ΠΠ°ΠΊ ΠΌΡ ΡΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠ°Π»ΠΈ, Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ — ΡΡΠΎ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅. ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ Π΅Π³ΠΎ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ»Π΅Π½Π°ΠΌ ΠΊΠΎΡΠ²Π΅Π½Π½ΡΠΉ, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠΈΠΏ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ, Ρ ΠΎΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ
ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° β6
Π’Π΅ΠΌΠ°: ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π¦Π΅Π»ΠΈ ΡΠ°Π±ΠΎΡΡ:
? ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠ°;
? ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ·Π΄Π½Π΅Π³ΠΎ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ;
? ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ;
? ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ ad-hoc;
? ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ;
? ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠ°Π΄Π°Π½ΠΈΡ
ΠΠ°ΡΠΈΠ°Π½Ρ 1
Π‘ΠΎΠ·Π΄Π°ΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Worker Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π½Π°ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π·Π°ΡΠΏΠ»Π°ΡΡ. Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ StateWorker, HourlyWorker ΠΈ CommissionWorker, Π² ΠΊΠΎΡΠΎΡΡΡ Π΄Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°.
#include
using namespace std;
class worker {
public:
double i;
worker (double x) {i=x;}
virtual void func () {cout<< «zarplata standartnogo rabochego"<
cout<
};
class stateworker: public worker {
public:
stateworker (double x):worker (x){}
void func () {cout<< «zarplata stateworker"<
cout<<
class horlyworker: public worker {
public:
horlyworker (double x):worker (x){}
void func () {
cout<< «zarplata horlyworker»;
cout<<
}};
class communicationworker: public worker {
public:
communicationworker (double x):worker (x){}
void func () {cout<< «zarplata communicationworker"<
cout<<
int main () {
worker *p;
worker ob (1000);
stateworker d_ob1 (1000);
horlyworker d_ob2 (1000);
communicationworker d_ob3 (1000);
p=&ob;
p->func ();
p=&d_ob1;
p->func ();
p=&d_ob2;
p->func ();
p=&d_ob3;
p->func ();
return 0;
}
ΠΊΠ»Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
1) Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΎΡΠΌΡ. ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅ ΡΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ Π½Π° ΡΠ°ΡΡΠΈ, ΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅, ΡΡΠΎ ΠΏΠΎΠ»ΠΈ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ, Π° ΠΌΠΎΡΡΠΈΠ·ΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΌΡ. ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΡΠΌΡ. ΠΡΠΎΡ ΡΡΠΎΠΊ Π²Π²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠ° ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π²Π½ΡΡΡΠΈ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°. Π ΠΊΠΎΠ½ΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ° Π²Ρ ΠΎΡΠ²ΠΎΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ:
ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΎΡΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
C++ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Π°ΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ (virtual) ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ (virtual) ΡΡΠ½ΠΊΡΠΈΡ — ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΎΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ virtual.
ΠΡΠ±ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
2) ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ (Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ) — Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ (ΡΡΠ½ΠΊΡΠΈΡ) ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ Π² ΠΊΠ»Π°ΡΡΠ°Ρ -Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°Ρ ΡΠ°ΠΊ, ΡΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π½Π°ΡΡ ΡΠΎΡΠ½ΡΠΉ ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌ ΡΠ΅ΡΠ΅Π· Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ: Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»ΠΈΡΡ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΊΠ»Π°ΡΡΡ ΠΈΠ»ΠΈ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΡ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±ΡΡΠ²Π»Π΅Π½.
ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° (Π°Π½Π³Π». Method overriding) Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ — ΠΎΠ΄Π½Π° ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΡ ΠΈΠ»ΠΈ Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΌΡ ΠΊΠ»Π°ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°, ΡΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ². Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ (Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ) Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π² ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ΅, ΠΎΠΏΠΈΡΡΠ²Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΠΈ Ρ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΅ ΠΆΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ»ΠΈ ΡΠΈΠ³Π½Π°ΡΡΡΠ°, ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΡΡΠΎ ΠΈ Ρ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°
4) ΠΡΠΈ ΠΏΠΎΠ·Π΄Π½Π΅ΠΌ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠΈ Π°Π΄ΡΠ΅ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° Π½Π΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΊΠ°ΠΊ Π² ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΡΠ·ΡΠΊΠ°Ρ , Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ°Π½Π½Π΅Π΅ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅. Π‘Π°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π·Π°ΠΌΠ΅Π½Π΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π° Π°Π΄ΡΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ.